使用androidstudio上的firebase数据填充列表视图
我试图在listview中插入我的firebase数据库的数据,但是,我没有成功。 我的firebase有一个名为“ocorrencias”的“主节点”,里面有一些信息,我想在listview(firebase中的数据图像)中插入这些数据(信息)。 Database firebase, with data to insert in listview 有人可以帮助我吗?使用androidstudio上的firebase数据填充列表视图
拥抱。
使用FirebaseUI,您可以在本指南(RecyclerView guide和ListView guide)之后填充RecyclerView以及ListView,但因为您要求提供ListView,因此我将解释这种情况。
在开始编码之前,您必须将项目连接到Firebase。如果你还没有,你可以按照这个guide。现在我们可以开始从Firebase数据库中检索实时数据。
首先,你必须添加下面一行app/build.gradle
文件的相关性:
compile 'com.firebaseui:firebase-ui-database:2.3.0'
然后,在你的活动,你必须要找到你的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。
感谢您的回答。 但是,我的代码是不同的 –
你的意思是粘贴这个代码,因为它在你的应用程序中不起作用? –
没有粘贴,但是,我理解你的代码,我的疑惑解决了。感谢您的回答。在您的代码中,我可以插入数据,但填充它是必需的“for”。 +1 –