【发布时间】:2016-11-20 00:22:47
【问题描述】:
需要帮助将 Firebase 信息填充到 ListView。我需要从“商店”中获得所有孩子,但不能。谁知道怎么解决请帮忙。虽然打印消息它给了我正确的数组,但我无法将它实现到 ListView。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dealer_list_view);
mListView = (ListView) findViewById(R.id.dealer_listView);
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
DataSnapshot friendsSnapshot = dataSnapshot.child("Shops");
for (DataSnapshot friendSnapshot : friendsSnapshot.getChildren()) {
String message = friendSnapshot.child("Dealer").getValue(String.class);
System.out.println(message);
DatabaseReference ref = FirebaseDatabase.getInstance().getReferenceFromUrl("My URl"+message);
FirebaseListAdapter<String> adapter = new FirebaseListAdapter<String>(DealerListView.this,
String.class,
android.R.layout.simple_list_item_1,
ref) {
@Override
protected void populateView(View v, String s, int i) {
TextView textView = (TextView) v.findViewById(android.R.id.text1);
textView.setText(s);
}
};
mListView.setAdapter(adapter);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
更新
- Shops
-AAA
Dealer: "AAA"
Email: "a@mail.ru"
SAP: "D666"
-BBB
Dealer: "BBB"
Email: "r@mail.ru"
SAP: "D333"
-CCC
Dealer: "BBB"
Email: "g@mail.ru"
SAP: "D222"
【问题讨论】:
-
请编辑您的问题以包含此代码正在访问的 JSON 的最小 sn-p(作为文本,请不要截图)。
-
我更新了我的帖子
-
在这里您可以找到使用 ListView 和 RecyclerView 的完美示例:github.com/firebase/FirebaseUI-Android/blob/master/database/…
-
顺便说一句,我认为 dealer 不是 Shops 的直系子女...
标签: android listview firebase firebase-realtime-database firebaseui