Android Firebase信息显示在ListView的一个列表项中
这是我的代码,它在列表视图的一个项目中显示从Fire base返回的所有信息,该应用程序连接到Fire base 谁能帮我翻译一下代码吗Android Firebase信息显示在ListView的一个列表项中,android,firebase,firebase-realtime-database,android-arrayadapter,Android,Firebase,Firebase Realtime Database,Android Arrayadapter,这是我的代码,它在列表视图的一个项目中显示从Fire base返回的所有信息,该应用程序连接到Fire base 谁能帮我翻译一下代码吗 public class usernews extends AppCompatActivity { FirebaseDatabase database = FirebaseDatabase.getInstance(); final DatabaseReference myRef = database.getReference("allNews"
public class usernews extends AppCompatActivity {
FirebaseDatabase database = FirebaseDatabase.getInstance();
final DatabaseReference myRef = database.getReference("allNews");
private ListView lsStudents;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_usernews);
lsStudents=(ListView) findViewById(R.id.list);
...
}
...
}
我想这里有一些错误,但我找不到
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// This method is called once with the initial value and again
// whenever data at this location is updated.
final List<String> areas = new ArrayList<String>();
for (DataSnapshot areaSnapshot: dataSnapshot.getChildren()) {
String value1 = String.valueOf(dataSnapshot.getValue());
areas.add(value1);
}
String value2 = String.valueOf(dataSnapshot.getValue());
Log.d("allNews", "Value is: " + value2);
ArrayAdapter<String> areasAdapter = new ArrayAdapter<String>(usernews.this,android.R.layout.simple_expandable_list_item_1, areas);
lsStudents.setAdapter(areasAdapter);
}
});
myRef.addValueEventListener(新的ValueEventListener(){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
//使用初始值调用此方法一次,然后再次调用
//每当更新此位置的数据时。
最终列表区域=新的ArrayList();
对于(DataSnapshot areaSnapshot:DataSnapshot.getChildren()){
String value1=String.valueOf(dataSnapshot.getValue());
增加(价值1);
}
String value2=String.valueOf(dataSnapshot.getValue());
Log.d(“所有新闻”,“值为:”+value2);
ArrayAdapter areasAdapter=新的ArrayAdapter(usernews.this,android.R.layout.simple\u expandable\u list\u item\u 1,areas);
lsStudents.setAdapter(区域适配器);
}
});
Firebase数据的屏幕截图
引用正确节点后的屏幕截图更改您的
数据库引用
用这个
final DatabaseReference myRef = database.getReference("allNews").child("allNews");
而不是
final DatabaseReference myRef = database.getReference("allNews");
您的实际数据位于“allNews”
标记内。最终,它的子节点也具有相同的名称
然后更新for循环。您从错误的引用中获取数据
final List<String> areas = new ArrayList<String>();
for (DataSnapshot areaSnapshot: dataSnapshot.getChildren()) {
// Get value from areaSnapShot not from dataSnapshot
String value1 = String.valueOf(areaSnapshot.getValue());
areas.add(value1);
}
final List areas=new ArrayList();
对于(DataSnapshot areaSnapshot:DataSnapshot.getChildren()){
//从areaSnapShot而不是从dataSnapshot获取值
String value1=String.valueOf(areaSnapshot.getValue());
增加(价值1);
}
您能否显示Firebase数据的节点结构添加节点结构的屏幕截图i'v添加任何错误消息上方图像的链接?日志条目?请阅读@rahulkapoor:请以JSON文本的形式要求提供数据结构的截图,而不是截图(因为截图在回答中不可用,无需再次键入数据)。获取数据结构的最佳方式是纯JSON文本,OP可以通过单击Firebase数据库控制台中的导出JSON链接来获取该文本。我更改了它,但它仍然为我提供了许多列表项,但它们都包含所有Firebase信息。您得到了什么样的响应,你说的所有firebase信息是什么意思?我添加了另一个链接,你可以查看它谢谢很多人你的救命恩人它终于正常工作了谢谢