使用 FirebaseUI,您可以按照本指南(RecyclerView guide 和 ListView guide)填充 RecyclerView 和 ListView,但由于您要求使用 ListView,我将仅解释这种情况。
在开始编码之前,您必须将您的项目连接到 Firebase。如果你还没有,你可以关注这个guide。现在我们可以开始从 Firebase 数据库中检索实时数据了。
首先你必须在 app/build.gradle 文件的依赖项中添加以下行:
compile 'com.firebaseui:firebase-ui-database:2.3.0'
然后,在您的 Activity 中,您必须找到您的 ListView:
ListView listView = (ListView) findViewById(R.id.listview_id);
并获取对您的数据库的引用:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
因此,您必须创建将数据传递给 ListView 的适配器。 FirebaseUI 有自己的version 适配器供您使用。
FirebaseListAdapter mAdapter = new FirebaseListAdapter<YourDatabaseObject>(this, YourDatabaseObject.class, android.R.layout.two_line_list_item, ref) {
@Override
protected void populateView(View view, YourDatabaseObject databaseField, int position) {
((TextView) view.findViewById(android.R.id.text1)).setText(databaseField.getField1());
((TextView) view.findViewById(android.R.id.text2)).setText(databaseField.getField2());
}
};
// Set the adapter of the ListView
listView.setAdapter(mAdapter);
您可以将 YourDatabaseObject 替换为代表 Firebase 数据库中数据的类(在您的情况下为 Ocurencias)。如果你还没有创建它,你可以关注这个guide。
如果您愿意,您也可以替换布局 ID,因为我使用了默认 ID。
通过这种方式,ListView 现在应该显示数据库中的数据,并在新数据插入数据库时自动更新。
如果您尚未创建显示数据所需的对象,您可以按照上面喜欢的指南或阅读 FirebaseUI 的 official documentation。