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

我正在设置一个呼叫日志应用程序,该应用程序从一个 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"

    }


  },


现在,结果看起来像这样 

http://img2.mukewang.com/648957c400014e3801760170.jpg

我希望同一张卡具有名称和其余数据。



大话西游666
浏览 89回答 1
1回答

jeck猫

我可以运行查询,他们检索数据,但不知道如何将其转换为同一个适配器您无法将两个不同的查询传递给同一个适配器实例。我现在能想到的最佳解决方案是在客户端代码中创建一个array或多个组合结果,然后将其简单地传递给ArrayAdapter。这不是最好的解决方案,因为您需要查询数据库两次,但它会解决您的问题。ArrayList
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java