我試圖在listview中插入我的firebase數據庫的數據,但是,我沒有成功。 我的firebase有一個名爲「ocorrencias」的「主節點」,裏面有一些信息,我想在listview(firebase中的數據圖像)中插入這些數據(信息)。 Database firebase, with data to insert in listview 有人可以幫助我嗎?使用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 –