为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Android Studio 的同一个 ArrayAdaptor 中查看 2 个

如何在 Android Studio 的同一个 ArrayAdaptor 中查看 2 个

大话西游666 2023-06-14 14:01:03
我正在设置一个呼叫日志应用程序,该应用程序从一个 Firebase 数据库子项中检索呼叫数据,并从另一个子项中检索等效联系人的姓名。我可以运行查询,它们检索数据,但不知道如何将其转换为同一个适配器。我正在使用 Android Studio 和 Firebase 实时数据库,但两者都没有什么经验。我最好的结果是这样的:                public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {                    Person personList = dataSnapshot.getValue(Person.class);                    String nombre = dataSnapshot.child("mNumber").getValue().toString();                    Query query = mFirebaseDatabase.getReference("Names")                            .orderByChild(nombre);                    query.addListenerForSingleValueEvent(                            new ValueEventListener() {                              @Override                              public void onDataChange(DataSnapshot dataSnapshot) {                                    if (dataSnapshot.exists()) {                                        for (DataSnapshot snapshot : dataSnapshot.getChildren()) {                                            String artist = snapshot.getValue().toString();                                            Person personName = snapshot.getValue(Person.class);                                            mContactsAdapter.add(personName);                                        }                                    }                                }                                @Override                                public void onCancelled(DatabaseError databaseError) {                                }                            });                    mContactsAdapter.add(personList);                }这就是 Firebase 实时数据库的样子{  "Missed" : {    "-LmPZ-AOWIPSfEr-XK1v" : {      "mCheck" : "Check Out",      "mDate" : "16-08-19",      "mNumber" : "6505551212",      "mTime" : "15:13"    },    "-LmQGRvIYzAqqfmn94xU" : {      "mCheck" : "Check Out",      "mDate" : "16-08-19",      "mNumber" : "6505551213",      "mTime" : "18:32"    }  },现在,结果看起来像这样 我希望同一张卡具有名称和其余数据。
查看完整描述

1 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

我可以运行查询,他们检索数据,但不知道如何将其转换为同一个适配器

您无法将两个不同的查询传递给同一个适配器实例。我现在能想到的最佳解决方案是在客户端代码中创建一个array或多个组合结果,然后将其简单地传递给ArrayAdapter。这不是最好的解决方案,因为您需要查询数据库两次,但它会解决您的问题。ArrayList


查看完整回答
反对 回复 2023-06-14
  • 1 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信