簡體   English   中英

Recycler 視圖未使用數組列表顯示來自 firebase 的數據

[英]Recycler view is not displaying data from firebase using an array list

我正在使用數組列表從 firebase 數據庫中檢索數據,然后填充回收器我的 firebase視圖。 數據未顯示在回收站視圖中。

我的 Model class 在這里

public class ModelCategory {
String id,category,uid;
long timestamp;

public ModelCategory() {
}

public ModelCategory(String id, String category, String uid, long timestamp) {
    this.id=id;
    this.category =category;
    this.uid=uid;
    this.timestamp=timestamp;

}

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

public String getCategory() {
    return category;
}

public void setCategory(String category) {
    this.category = category;
}

public String getUid() {
    return uid;
}

public void setUid(String uid) {
    this.uid = uid;
}

public long getTimestamp() {
    return timestamp;
}

public void setTimestamp(long timestamp) {
    this.timestamp = timestamp;
}

Class 用於加載回收器視圖

 private void loadCategories() {
    
    categoryArrayList= new ArrayList<>();
   
    DatabaseReference reference=FirebaseDatabase.getInstance().getReference("category");
    reference.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot snapshot) {

            categoryArrayList.clear();
            for(DataSnapshot ds: snapshot.getChildren()){
                ModelCategory category =  ds.getValue(ModelCategory.class);


                categoryArrayList.add(category);
            }

            adapterCategory= new AdapterCategory(DashboardAdminActivity.this,categoryArrayList);
            binding.categoriesRvk.setAdapter(adapterCategory);

        }

加載類別方法在主活動中。

我的適配器

public void onBindViewHolder(@NonNull HolderCategory holder, int position) {
    //get data
    ModelCategory model= categoryArrayList.get(position);
    String id= model.getId();
    String uid= model.getUid();
    String category= model.getCategory();
    long timestamp= model.getTimestamp();

    //set data
    holder.categoryTv.setText(category);


    //handle delete btn click
    holder.deleteBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(context, "deleted "+category, Toast.LENGTH_SHORT).show();
        }
    });

這是我正在使用的適配器

正如我在您的屏幕截圖中看到的那樣,它是categories不是category 所以請更改:

DatabaseReference reference=FirebaseDatabase.getInstance().getReference("category");

進入:

DatabaseReference reference=FirebaseDatabase.getInstance().getReference("categories");
                                                                             👆

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM