
[英]Java, Android studio, Firebase database how to add data to realtime database
[英]How to get the position of data push in realtime database Anroid Java?
我有这样的 JSON 树结构
SampleData
-sampleEmail
-Push key // Generated by .push() in realtime database
"data1" : "Sample Data 1"
"data2" : "Sample Data 2"
"data3" : "Sample Data 3"
-Push key // Generated by .push() in realtime database
"data1" : "Sample Data 1"
"data2" : "Sample Data 2"
"data3" : "Sample Data 3"
firebase 是否有方法来获取像 (0, 1, 2,...) 这样的按键位置我正在使用 RecyclerViewAdapter,我想比较持有者位置和数据库中的位置以获取特定项目。 有办法吗?
在这里,你可以看到你的答案。 我评论了你需要的那部分,你可以检查这个代码片段:
FirebaseRecyclerOptions<ModelClass> options =
new FirebaseRecyclerOptions.Builder<QuizSetMode> ()
.setQuery ( FirebaseRef (SampleData/SampleEmail), ModelClass.class )
.build ();
FirebaseRecyclerAdapter<ModelClass,ViewHolder> adapter =
new FirebaseRecyclerAdapter<ModelClass, ViewHolder>(options) {
@Override
protected void onBindViewHolder(@NonNull final StudentViewHolder2 holder, final int position, @NonNull final ModelClass model) {
String listPostKey = getRef(position).getKey();
// This is your Desired answer (listPostKey)
// Here You can Get all the push key in (listPostKey)
// You Can Perform any operation here using listPostKey
}
@NonNull
@Override
public StudentViewHolder2 onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
View view = LayoutInflater.from ( viewGroup.getContext () ).inflate ( R.layout.quiz_topics,viewGroup,false );
StudentViewHolder2 viewHolder = new StudentViewHolder2( view);
return viewHolder;
}
@Override
public void onDataChanged() {
super.onDataChanged();
recyclerView.setVisibility(View.VISIBLE);
progressDialog.dismiss();
}
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.