首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用firebase初始化RecyclerView的火基引用

使用firebase初始化RecyclerView的火基引用
EN

Stack Overflow用户
提问于 2018-10-09 15:24:36
回答 2查看 134关注 0票数 0

我有一个防火结构

和一个数据库参考

代码语言:javascript
复制
mRef= FirebaseDatabase.getInstance().getReference().child("Uploads2").child(ProductEntered).child(StateEntered).child(CityEntered).child(TehsilEntered);

问题

我想把所有的数据装载到回收商的视图中,但我没有密钥,即10月9日。这样就会有多个节点,所以已经设置了上面所示的引用,但是当我运行这个应用程序时,会显示一个空的回收卡,上面显示的密钥是德里,但密钥应该是10月9日。那么如何把它带到10月9日..

我的回收视图代码

代码语言:javascript
复制
 DatabaseReference mRef;
            mRef= FirebaseDatabase.getInstance().getReference().child("Uploads2").child(ProductEntered).child(StateEntered).child(CityEntered).child(TehsilEntered);
            Toast.makeText(getContext(),StateEntered+"\n"+CityEntered+"\n"+Tehsil.getText().toString(),Toast.LENGTH_LONG).show();
            FirebaseRecyclerOptions<RecyclerCropView> options=new FirebaseRecyclerOptions.Builder<RecyclerCropView>().setQuery(mRef,RecyclerCropView.class).build();

            FBRA=new FirebaseRecyclerAdapter<RecyclerCropView, ViewHolder>(options) {
                @Override
                protected void onBindViewHolder(@NonNull ViewHolder holder, int position, @NonNull RecyclerCropView model) {

                    holder.setProductImage(model.getProfileImage());
                    holder.setProductImage(model.getProduct_Image());
                    holder.setQuantity(model.getQuantity());
                    holder.setQuantityUnit(model.getQuantityUnit());
                    holder.setName(model.getName());
                    holder.setMax(model.getMaximumPrice());

                    final String x=FBRA.getRef(position).getKey().toString();
                    holder.setDate(x);
                    Toast.makeText(getActivity(),x.toString(),Toast.LENGTH_LONG).show();
                    holder.itemView.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            Intent intent=new Intent(getActivity(),Itemclicked.class);
                            intent.putExtra("ProductName",ProductEntered);
                            intent.putExtra("State",StateEntered);
                            intent.putExtra("City",CityEntered);
                            intent.putExtra("tehsil",Tehsil.getText().toString());
                            intent.putExtra("key",x);
                            startActivity(intent);
                        }
                    });
                }

                @NonNull
                @Override
                public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
                    View v=LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclercard,parent,false);
                    return new ViewHolder(v);
                }


            };
            FBRA.notifyDataSetChanged();
            FBRA.startListening();
            LinearLayoutManager llm=new LinearLayoutManager(getActivity());
            llm.setOrientation(LinearLayoutManager.VERTICAL);
            rView.setLayoutManager(llm);
            rView.setHasFixedSize(true);
            rView.setAdapter(FBRA);
          }

这里RecyclerCropView是模型类Viewholder是viewholder类myref是数据库引用

因此,当我运行这段代码时,我收到了一个具有x=delhi值的回收器视图项目,在这里,我希望x到09年10月.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-09 17:13:41

我不知道我是否理解您的问题,但是如果您希望对所有没有特定键的节点进行顺序读取,请使用foreach,如下所示:

代码语言:javascript
复制
    ValueEventListener statsListener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshit) {

            long mQtde, mQtdeAbast = 0;
            for (DataSnapshot snapPostos : dataSnapshit.getChildren()) {

                mQtde = 0;
                for (DataSnapshot snapUsers : snapPostos.getChildren()) {
                    mQtde = mQtde + (long) snapUsers.getValue();
                }
                mQtdeAbast = mQtdeAbast + mQtde;

            }

        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
        }
    };
    mStatsDBRef.child("postos").addListenerForSingleValueEvent(statsListener);
票数 0
EN

Stack Overflow用户

发布于 2018-10-09 19:19:47

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52724478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档