当前位置: 首页 > 知识库问答 >
问题:

Android Firebase将数据recyclerview传递给recyclerview

益智明
2023-03-14

我想把数据RC_1RC_2。我怎么能这样做(猫,信息,orderid)回收站视图到回收站视图?Examp.pic_1

我的firebase节点与图片类似。我的firebase节点

//RC_1结构

 public class Name_Struct {
        private String name;
    
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    }

//RC_2结构

public class Detail_Struct {
    private String cat;
    private String info;
    private String orderid;

public String getCat() {
    return cat;
}
public void setCat(String cat) {
    this.cat = cat;
}
public String getInfo() {
    return info;
}
public void setInfo(String info) {
    this.info = info;
}
public String getOrderid() {
    return orderid;
}
public void setOrderid(String orderid) {
    this.orderid = orderid;
}

RC_1用于//我的活动1

private void rc_1_get_name(){
    Query query = FirebaseDatabase.getInstance().getReference()
            .child(“Pro_”);
    query.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot snapshot) {
            mName.clear();
            for(DataSnapshot snp : snapshot.getChildren()){
                Name_Struct names = snp.getValue(Name_Struct.class);
                for (DataSnapshot recipeSnapshot: snp.child(“basket”).getChildren()) {
                    mName.add(names);
                }
            }
            mName_adapter.notifyDataSetChanged();
        }
        @Override
        public void onCancelled(@NonNull DatabaseError error) {
        }
    });
}

RC_1;//Myadapter_1

@在BindViewHolder上重写公共无效(@NonNull ViewHolder持有者,@SuppressLint("回收站视图")int位置){

    final Name_Struct names = mName.get(position);
    holder.name_.setText(names.getName()));

holder.relativeLayout.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
Intent intent = new Intent(mContext, RC_2.class);

???

mContext.startActivity(intent);

}

}

共有1个答案

何兴安
2023-03-14

正如我在你的截图中看到的,“Pro_”节点包含一个值为“迈克”的名称。这意味着您可以将该节点映射到类型为Name_Struct的对象中。你正在成功地做到这一点。在同一个节点下,还有另一个节点叫做“篮子”。该节点由Map对象表示,其中键由这些ID(ID_1、ID_2等)表示,值由Detail_Struct对象表示。为了能够映射"Basket"节点下的数据,您必须在您的Name_Struct类中添加一个新的属性,称为basket,如下所示:

public class Name_Struct implements Serializable {
   private String name;
   private Map<String, Object> basket;

   public String getName() {
       return name;
   }

   public void setName(String name) {
       this.name = name;
   }

   @PropertyName("Basket")
   public Map<String, Object> getBasket() {
       return basket;
   }

   public void setBasket(Map<String, Object> basket) {
       this.basket = basket;
   }
}

现在要将数据传递给第二个活动,您必须添加迭代映射并创建一个List

 类似资料:
  • 问题内容: 我需要在单击recyclerview的图像时将数据从传递 到 。有人可以帮忙吗? 问题答案: 创建一个侦听器接口,然后让您的MainActivity实现它。这样,您可以在onClick方法中调用回调方法。 接口: 主要活动: 您的VideoAdapter:

  • 问题内容: 我有一个简单的跨度 此范围在表内,每行都有一个删除范围。 然后,当单击该跨度时,我使用AJAX调用URL。AJAX事件需要知道该行的对象ID吗?使该ID进入点击功能的最佳方法是什么? 我以为我可以做这样的事情 但是ID不能以数字开头吗?对?那我以为我可以 然后从ID中删除“我的”部分,但这似乎很Yu! 以下是我的点击事件以及我的AJAX事件所在的位置。 我确定有一个不错的方法吗? 注意

  • 问题内容: 我正在使用Go内置的http服务器,并拍拍来响应一些URL: 我需要向该处理函数传递一个额外的参数-一个接口。 如何向处理程序函数发送额外的参数? 问题答案: 通过使用闭包,您应该能够做您想做的事情。 更改为以下内容(未测试): 然后对

  • 我在解一个有很多常数的非线性方程 我创建了一个用于解决以下问题的函数: 然后我想做: 但是正在解包并向函数传递太多参数,因此我得到: TypeError:terminalV()正好接受2个参数(给定6个) 那么,我的问题是,我是否可以通过某种方式将元组传递给调用的函数?

  • 问题内容: 我有一个关于将点击的Cardview数据传递到活动的问题,这里是全文: 我有一个称为“详细信息”的活动,该活动的布局中包含2个TextViews,分别是Title和Description。 我设置了一个片段(tab_1),其中包含recyclerview代码和item数据,其中的每个item都包含:title&description。 我想要的是 : 当用户单击项目时,它将打开“详细信

  • 我想将数据从回收视图传递到另一个片段中,第一个适配器用于显示项目,第二个适配器用于篮子片段,希望将选定的项目放入。 我要从中获取数据的适配器 这是我要将数据放入的篮子片段的适配器 现在,我可以用来在它们之间传递数据。