首页 > 解决方案 > 如何从firebase数据库实时数据库中获取前一个孩子的价值?

问题描述

Firebase 实时数据库

我通过这段代码获得了特定的子价值

private void LoadData(String s) {
    options = new FirebaseRecyclerOptions.Builder<TopicStatusDownload>().setQuery(reference, TopicStatusDownload.class).build();
    adapter = new FirebaseRecyclerAdapter<TopicStatusDownload, MyViewHolder>(options) {
        @Override
        protected void onBindViewHolder(@NonNull MyViewHolder holder, final int position, @NonNull TopicStatusDownload model) {
            holder.textView.setText(model.getTv());

            status_view = holder.textView.getText().toString();

            currentPosition = position;
            status_key = adapter.getRef(currentPosition).getKey();
            holder.textView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String toast_position = String.valueOf(position);
                    Toast.makeText(TodayStatus.this, toast_position, Toast.LENGTH_SHORT).show();
                    relativeLayout_recyclerView.setVisibility(View.GONE);
                    relativeLayout_view.setVisibility(View.VISIBLE);
                    reference.child(status_key).addValueEventListener(new ValueEventListener() {
                        @Override
                        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                            if (dataSnapshot.exists()) {
                                text_rel_view_string = dataSnapshot.child("tv").getValue().toString();
                                text_rel_view.setText(text_rel_view_string);
                            }
                        }

                        @Override
                        public void onCancelled(@NonNull DatabaseError error) {

                        }
                    });

                    /*Intent intent = new Intent(TodayStatus.this, TopicStatusView.class);
                    intent.putExtra(EXTRA_NAME, name);
                    intent.putExtra("StatusKey", getRef(position).getKey());
                    intent.putExtra("Position", String.valueOf(position));
                    startActivity(intent);*/



                }
            });
            progressBar.setVisibility(View.INVISIBLE);
        }

        @NonNull
        @Override
        public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

            View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.home_item, parent, false);
            return new MyViewHolder(v);
        }

    };

    adapter.startListening();
    recyclerView.setAdapter(adapter);
}

我希望单击左箭头上的前一个子值。单击右箭头时,我想要下一个子值。以及如何给动画这个回收器视图。

标签: javaandroidfirebasefirebase-realtime-databasefirebaseui

解决方案


推荐阅读