我正在設置一個呼叫日志應用程序,該應用程序從一個 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
提交
取消