繁体   English   中英

如何在实时数据库 Anroid Java 中获取数据推送的位置?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM