[英]Images are not showing in recycler view
我的 Recyclerview 正面臨這個問題。 我正在嘗試顯示我擁有的另一個 firebase 數據庫中的圖像。 以前運行良好,現在運行我的應用程序時,我得到兩個空白卡視圖,但沒有圖像。 我不確定發生了什么,因為它以前運行良好。 有人可以幫我解決這個問題。 提前致謝。 我的代碼如下
//Code
recyclerView = findViewById(R.id.recyclerView);
RecyclerView.LayoutManager layoutManager = new GridLayoutManager(getApplicationContext(),1);
recyclerView.setLayoutManager(layoutManager);
myUploads = new ArrayList<Model>();
aAdapter = new Adapter(MainActivity2.this, myUploads);
recyclerView.setAdapter(aAdapter);
aAdapter.notifyDataSetChanged();
progressBar=findViewById(R.id.progressBar);
databaseReference = FirebaseDatabase.getInstance("https://puttt0-4331.firebaseio.com").getReference("Images");
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
progressBar.setVisibility(View.GONE);
if(snapshot.exists()){
for (DataSnapshot postsnapshot : snapshot.getChildren()) {
Model upload=postsnapshot.getValue(Model.class);
//myUploads.clear();
myUploads.add(upload);
aAdapter = new Adapter(MainActivity2.this, myUploads);
recyclerView.setAdapter(aAdapter);
//aAdapter.notifyDataSetChanged();
recyclerView.invalidate();
}
aAdapter.notifyDataSetChanged();
你不應該
setAdapter(newAdapter)
每次從 OnDataChange() 方法獲取新數據時
這是你應該做的:
if(snapshot.exists()){
myUploads.clear();
for (DataSnapshot postsnapshot : snapshot.getChildren()) {
Model upload=postsnapshot.getValue(Model.class);
myUploads.add(upload);
}
aAdapter.notifyDataSetChanged();
}
試試這個,然后告訴我會發生什么。 並且永遠記住你必須對適配器只有一個初始化,即
aAdapter = new Adapter(MainActivity2.this, myUploads);//this should only be done only once for the adapter
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.