发出将Firebase转到recyclerview android的问题。没有数据显示

salty_coffee

我无法在RecyclerView中显示我的Firebase数据。我能够将其他活动中的数据添加到Firebase数据库中,但是在RecyclerView中查看数据时遇到了问题。

我创建了一个使用Recipe.class和RecipeViewHolder的FriebaseRecyclerAdapter。如果使用我的课程,我的ViewHolder分为三个部分(名称,等级和描述)。我在Logcat中没有收到任何有用的错误。

RecipeList.class

public class RecipeList extends AppCompatActivity {

private RecyclerView recipes;
private FloatingActionButton newRecipeBtn;

private DatabaseReference mRecipeDatabase;
private RecyclerView.LayoutManager mLayoutManager;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_recipe_list);
    getWindow().setSoftInputMode(
            WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

    mRecipeDatabase = FirebaseDatabase.getInstance().getReference("Recipes");
    newRecipeBtn = findViewById(R.id.fab);
    recipes = findViewById(R.id.recyclerView);

    recipes.setHasFixedSize(true);
    mLayoutManager = new LinearLayoutManager(this);
    recipes.setLayoutManager(mLayoutManager);
    recipes.setItemAnimator(new DefaultItemAnimator());
    recipes.addItemDecoration(new DividerItemDecoration(this, LinearLayoutManager.VERTICAL));

    FirebaseRecyclerAdapter<Recipe, RecipeViewHolder> adapter = new FirebaseRecyclerAdapter<Recipe, RecipeViewHolder>(
            Recipe.class,
            R.layout.recycler_list_item,
            RecipeViewHolder.class,
            mRecipeDatabase
    ) {
        @Override
        protected void populateViewHolder(RecipeViewHolder viewHolder, Recipe model, int position) {
            viewHolder.setName(model.getName());
            viewHolder.setRating(model.getRating());
            viewHolder.setDescription(model.getDescription());
        }
    };
        recipes.setAdapter(adapter);
}


public void toRecipeAdd(View view){
    Intent intent = new Intent(RecipeList.this, RecipeAdd.class);
    startActivity(intent);
}


public static class RecipeViewHolder extends RecyclerView.ViewHolder{
    TextView text_name, text_rating, text_description;
    public RecipeViewHolder(View itemView){
        super(itemView);
        text_name = itemView.findViewById(R.id.recipeNameTextView);
        text_rating = itemView.findViewById(R.id.recipeRatingTextView);
        text_description = itemView.findViewById(R.id.recipeDescriptionTextView);
    }
    public void setName(String name){
        text_name.setText(name);
    }
    public void setRating(String rating){
        text_rating.setText(rating);
    }
    public void setDescription(String description){
        text_description.setText(description);
    }
}


  }

食谱类

public class Recipe {
public String name;
public String url;
public String rating;
public String description;
public String id;
public String ingredients, instruction;

public Recipe(){}

public Recipe(String id, String name, String url, String rating, String description,
              String ingredients, String instruction) {
    this.id = id;
    this.name = name;
    this.url = url;
    this.rating = rating;
    this.description = description;
    this.ingredients = ingredients;
    this.instruction = instruction;
}

public Recipe(String name, String rating, String description){
    this.name  = name;
    this.rating = rating;
    this.description = description;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getUrl() {
    return url;
}

public void setUrl(String url) {
    this.url = url;
}

public String getRating() {
    return rating;
}

public void setRating(String rating) {
    this.rating = rating;
}

public String getDescription() {
    return description;
}

public void setDescription(String description) {
    this.description = description;
}

public String getIngredients() {
    return ingredients;
}

public void setIngredients(String ingredients) {
    this.ingredients = ingredients;
}

public String getInstruction() {
    return instruction;
}

public void setInstruction(String instruction) {
    this.instruction = instruction;
}

public String getId() {
    return id;
}

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

}
彼得·哈达德

删除以下内容以显示数据:

recipes.setHasFixedSize(true);

参考此:

https://github.com/firebase/FirebaseUI-Android/issues/204

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ListView显示Firebase问题中的所有数据

Firebase停止响应并丢失所有数据,没有任何错误或问题

Android-我的recyclerview没有显示数据

RecyclerView,数据绑定和ViewModel没有数据

未显示所有数据,但带有RecyclerView的AdMobs

Firebase性能| 控制台中没有数据

将数据从 firebase 加载到 android recyclerview

recyclerview 没有在片段中显示数据

有没有一种方法可以将Algolia索引中的所有数据显示为html中的列表?

在Uid Firebase Android下检索所有数据

显示没有数据的日期的数据

如何仅从Firebase获取没有现有数据的新数据?

Firebase:将随机数据从Firebase拉到RecyclerView(android)

Laravel没有将所有数据插入数据库

从 Firebase 中的 MainActivity 上传 RecyclerView 的所有数据

当将来的snapshot.data中没有数据时,会发出完美的消息

VBA Access传输电子表格-发出警告,但没有数据

python3 urllib,发出没有数据的放置请求

导出 csv 没有数据的问题?

没有显示Android的DisplayName firebase?

Android:如何通过单击 RecyclerView 外部的按钮将所有数据从 RecyclerView 适配器传递到 NewActivity?

Swift,Firebase:创建用户后实时数据库中没有数据

页面重定向时没有数据输入到 firebase 数据库中

Firebase实时数据库,如何通知引用中没有数据

即使没有数据也显示日期

使用KOTLIN将数据从Firebase Firestore显示到RecyclerView

使用html / javascript将数据存储在没有数据库的网页上

Android Studio RecyclerView Firebase未显示数据

当 RecyclerView 中没有数据时过滤错误空指针