我正在设置一个呼叫日志应用程序,该应用程序从一个 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
添加回答
举报
0/150
提交
取消