我创建了一个名为Food的自定义类,其中包含我想要填充的布局中的所有元素 我在该类中设置了setter和getter方法
// Recycler View
private RecyclerView mFrooderList;
private DatabaseReference mDatabase;
//Setting Parameters for RecyclerView
mFrooderList =(RecyclerView) findViewById(R.id.frooder_list);
mFrooderList.setHasFixedSize(true);
mFrooderList.setLayoutManager(new LinearLayoutManager(this));
mDatabase = FirebaseDatabase.getInstance().getReference().child("Food");
然后我使用Firebase Recycler适配器从Firebase数据库填充我的布局
FirebaseRecyclerOptions<Food> options =
new FirebaseRecyclerOptions.Builder<Food>()
.setQuery(mDatabase, Food.class)
.build();
FirebaseRecyclerAdapter adapter = new FirebaseRecyclerAdapter<Food, FoodViewHolder>(options) {
@Override
public FoodViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
// Create a new instance of the ViewHolder, in this case we are using a custom
// layout called R.layout.message for each item
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.layout_frooder_post, parent, false);
return new FoodViewHolder(view);
}
@Override
protected void onBindViewHolder(FoodViewHolder holder, int position, Food model) {
mFrooderList.setAdapter(adapter);
}
};
但是,当我运行应用程序时,它运行但我没有在主Activity中看到我的布局,在运行时我得到此错误
我不知道我做错了什么请帮忙
答案 0 :(得分:0)
onBindViewHolder
是您从Food model
获取值并将其设置为FoodViewHolder holder
的地方。
这不是您设置适配器的位置。
换句话说,它看起来应该是这样的
@Override
protected void onBindViewHolder(FoodViewHolder holder, int position, Food model) {
// TODO: Bind the ViewHolder
}
}; // end of adapter definition
mFrooderList.setAdapter(adapter);
} // end onCreate