Java Android Studio Firebase Recyclerview升级错误
我必须在旧版本的Firebase中使用Java Android Studio Firebase Recyclerview升级错误,java,android,firebase,android-recyclerview,Java,Android,Firebase,Android Recyclerview,我必须在旧版本的Firebase中使用PopulateViewHolder开发一个Recyclerview。现在我正在尝试升级这个版本(不是最后一个版本),我不知道如何使用onBindHolder或者关于这种新的RecyclerView的任何东西 下面是我如何进行设置的: firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Event, EventViewHolder>( Event.class,
PopulateViewHolder
开发一个Recyclerview
。现在我正在尝试升级这个版本(不是最后一个版本),我不知道如何使用onBindHolder
或者关于这种新的RecyclerView
的任何东西
下面是我如何进行设置的:
firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Event, EventViewHolder>(
Event.class,
R.layout.event_row,
EventViewHolder.class,
mDatabase.orderByChild("timeStamp")
) {
@Override
protected void populateViewHolder(final EventViewHolder viewHolder, final Event model, final int position) {
final String id = getRef(position).getKey().toString().trim();
viewHolder.setTitle(model.getTitle());
viewHolder.setDateWords(model.getDateWords());
viewHolder.setDesc(model.getDesc());
}
};
mEventList.setAdapter(firebaseRecyclerAdapter);
}
public static class EventViewHolder extends RecyclerView.ViewHolder {
View mView;
public EventViewHolder(View itemView) {
super(itemView);
mView = itemView;
}
}
firebaseRecyclerAdapter=新的firebaseRecyclerAdapter(
事件类,
R.layout.event_行,
EventViewHolder.class,
mDatabase.orderByChild(“时间戳”)
) {
@凌驾
受保护的void populateViewHolder(最终事件viewHolder viewHolder、最终事件模型、最终int位置){
最终字符串id=getRef(位置).getKey().toString().trim();
setTitle(model.getTitle());
viewHolder.setDateWords(model.getDateWords());
setDesc(model.getDesc());
}
};
mEventList.setAdapter(firebaseRecyclerAdapter);
}
公共静态类EventViewHolder扩展了RecyclerView.ViewHolder{
视图视图;
公共事件视图持有者(视图项视图){
超级(项目视图);
mView=项目视图;
}
}
这就是我现在要做的:
Query searchQuery = mDatabase.orderByChild("timeStamp");
options = new FirebaseRecyclerOptions.Builder<Event>()
.setQuery(searchQuery, Event.class)
.build();
firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Event, EventViewHolder>(options) {
@Override
protected void onBindViewHolder(final EventViewHolder viewHolder, int position, Event model) {
final String id = getRef(position).getKey().toString().trim();
viewHolder.setTitle(model.getTitle());
viewHolder.setDateWords(model.getDateWords());
viewHolder.setDesc(model.getDesc());
}
@NonNull
@Override
public EventViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return null;
}
};
firebaseRecyclerAdapter.startListening();
mEventList.setAdapter(firebaseRecyclerAdapter);
querysearchquery=mDatabase.orderByChild(“时间戳”);
选项=新的FirebaseRecyclerOptions.Builder()
.setQuery(searchQuery,Event.class)
.build();
firebaseRecyclerAdapter=新的firebaseRecyclerAdapter(选项){
@凌驾
受保护的无效onBindViewHolder(最终事件viewHolder、int位置、事件模型){
最终字符串id=getRef(位置).getKey().toString().trim();
setTitle(model.getTitle());
viewHolder.setDateWords(model.getDateWords());
setDesc(model.getDesc());
}
@非空
@凌驾
public EventViewHolder onCreateViewHolder(@NonNull ViewGroup父级,int-viewType){
返回null;
}
};
firebaseRecyclerAdapter.startListening();
mEventList.setAdapter(firebaseRecyclerAdapter);
ViewHolder
类是相同的
实际上,我要求提供教程,因为我只找到单独制作适配器的那些,但我想让它在相同的活动中。在您的
public events viewholder onCreateViewHolder
方法中,而不是返回返回的视图null
。要解决此问题,请在此方法中添加以下代码行:
@NonNull
@Override
public EventViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout, parent, false);
return new EventViewHolder(view);
}
其中,item\u布局
是项目的自定义布局。如果要使用Android操作系统中的内置XML布局文档来代替此布局,可以使用:
android.R.layout.simple_list_item_1
请编辑您的问题并将错误消息屏幕截图的链接替换为文本中的实际堆栈跟踪。这使得它可以被搜索,并使人们更快地看到哪里出了问题。