【发布时间】:2016-07-16 18:04:27
【问题描述】:
我想使用 Firebase 将整个对象添加到我的列表视图中。 一直用图片来说明这一点,因为有时图片比文字更容易。
Firebase 教程展示了如何将每个子对象作为一个项目返回并使用 Firebase UI 显示它,我想做几乎相同的事情,但不同之处在于我希望整个对象成为子对象,而该对象内的子对象将是每个列表项的附加信息。
所以在我的图像中,我有对象 露营 和“山脉”、“自然”、“地点”。 在自定义 listView 中,我希望将不同的值设置为 textViews.to
这就是我使用 Firebase UI 获取子项的方式:
protected void onStart(){
super.onStart();
Firebase items = rootRef.child("events");
final FirebaseListAdapter<String> fireAdapter = new FirebaseListAdapter<String>(
this,String.class,R.layout.list_item,items) {
@Override
protected void populateView(View view, String s, int i) {
TextView testText = (TextView)view.findViewById(R.id.textView2);
testText.setText(s);
trucks.add(s);
}
};
listView.setAdapter(fireAdapter);
}
更新
这是我如何在自定义列表视图布局中将 mountains 值设置为 textview 的代码:
private void getUpdatesEvents(DataSnapshot dataSnapshotRoot){
events.clear();
for(DataSnapshot dataSnapshot : dataSnapshotRoot.getChildren()){
Events e = new Events();
e.setName(dataSnapshot.getValue(Events.class).getName());
events.add(e.getName());
}
if(events.size()>0){
ArrayAdapter adapter = new ArrayAdapter(this,R.layout.list_item,R.id.textView2,events);
listView.setAdapter(adapter);
}
else{
Toast.makeText(this,"There is no data",Toast.LENGTH_LONG).show();
}
}
【问题讨论】:
-
@Frank van Puffelen 我的问题很难理解吗?我应该用其他方式解释吗?
-
@Frank 我现在添加了从我的对象中获取名称的代码,但是如何将多个内容传递给我的自定义列表视图布局。检查更新。
-
“和孩子们......将是每个列表项的附加信息”。信息将显示在哪里?在列表项本身上还是在单击列表项时打开的活动中?
-
@quidproquo 信息将显示在列表项本身上。
-
@quidproquo 现在 textView2 得到 name 我想要做的是将 nature 的价值添加到另一个 nature b>textView 在同一个布局中
标签: android firebase firebase-realtime-database