You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Firebase中push()生成的二级随机key对应数据并展示在Android RecyclerView

解决方法

第一步:修改Pacientes实体类

新增key字段存储push方法生成的随机键,如果要避免该字段参与Firebase序列化可加@Ignore注解:

public class Pacientes {
    // 你原有定义的字段保持不变
    private String key;

    // 原有getter、setter方法保持不变
    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }
}

第二步:修改数据监听的遍历逻辑

通过DataSnapshot的getKey()方法直接获取红色标记的随机生成键,赋值给实体对象即可:

database.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot snapshot) {
        list.clear(); // 每次数据更新先清空列表,避免重复加载
        for (DataSnapshot dataSnapshot : snapshot.getChildren()){
            Pacientes pacientes = dataSnapshot.getValue(Pacientes.class);
            // 获取push生成的随机key
            pacientes.setKey(dataSnapshot.getKey());
            list.add(pacientes);
        }
        adapter.notifyDataSetChanged();
    }

    @Override
    public void onCancelled(@NonNull DatabaseError error) {
        // 可自行补充错误处理逻辑,比如吐司提示数据获取失败
    }
});

第三步:适配器绑定数据

在自定义Adapter的onBindViewHolder方法中,从Pacientes实例里取出对应字段(包括新增的key字段),绑定到列表Item的对应控件,就能展示黄色标记的所有数据了。


内容的提问来源于stack exchange,提问作者RiseHit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 19:54:04