我试图在listview上插入我的firebase数据库的数据,但是,我没有成功。 我的firebase有一个"主节点"命名" ocorrencias",里面有一些信息,我想在listview中插入这些数据(信息)(在firebase中有数据的图像)。 Database firebase, with data to insert in listview 有人可以帮帮我吗?
拥抱。
答案 0 :(得分:0)
使用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。