Intro:我正嘗試構建一個顯示有關圖書信息的Android應用程序(使用Google books API)。我最近嚮應用程序添加了firebase。 在這一刻我可以登錄或註冊到應用程序,我可以搜索圖書(使用搜索視圖),並且我已經爲查詢中創建的ListView中列出的每本圖書添加了一個按鈕。我在按鈕中添加了功能如下所示:按鈕(如果按下)應該將當前書籍(在Listview中)添加到FireBase中。Android:無法在Firebase中向GridView顯示檢索到的POJO活動
我的下一步是檢索和發佈用戶在另一個活動增加的顯示器所有的書(BookObjects)稱爲CatalogActivity
public class CatalogActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_catalog);
GridView catalogListView = (GridView) findViewById(R.id.CatalogGridList);
mCatalogActivity = this;
final List<BookObject> books = new ArrayList<BookObject>();
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference databaseReference = database.getReference();
databaseReference.child("books").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Iterable<DataSnapshot> children = dataSnapshot.getChildren();
for (DataSnapshot child : children) {
BookObject book = child.getValue(BookObject.class);
books.add(book);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
CatalogAdapter catalogAdapter = new CatalogAdapter(this, books);
catalogListView.setAdapter(catalogAdapter);
}
}
(In app)當我點擊CatalogActivity該活動佈局爲空(gridview沒有要顯示的項目或者它們是空的)。
我已經使用的調試與磨合點,我得到了以下結論:
-database實例和參考得到正確
所有BookObjects的-snapshot正確地獲得(dataSnapshot
)
-all子快照(child
)被獲得。
- 書籍(4本書在這種情況下)被添加到books
那你爲什麼不顯示的書?(書是在自定義適配器套件,並應顯示)
注意:我嘗試註釋掉火力retrieveing數據代碼,我增加了一些硬編碼的書對象。這些都是正常顯示等於是問題不與我的自定義Adapter.anyways我會後下面的要點進行任何更多的信息
POJO BookObject
的要點類:BookObject
定義適配器Catalogadapter類的要點是:CatalogAdapter
任何幫助,高度讚賞。
感謝您的幫助。現在它完美地顯示數據。 –