【发布时间】:2017-11-01 12:30:35
【问题描述】:
我正在尝试使用 firebase 内容填充 recyclerView,但我遇到了错误。 这是我的活动片段
public class Journal extends Fragment {
RecyclerView recyclerView;
DatabaseReference myref;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.activity_journal,container,false);
recyclerView=(RecyclerView)v.findViewById(R.id.journal_rv);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
myref= FirebaseDatabase.getInstance().getReference().child("/blog");
// here is the error : "Must implements methods"
FirebaseRecyclerAdapter<JournalEntry,BlogViewHolder> recyclerAdapter=new FirebaseRecyclerAdapter<JournalEntry, BlogViewHolder>(
JournalEntry.class,
R.layout.journal_list_item,
BlogViewHolder.class,
myref
) {
// Another one : method does not override from its superclass
@Override
protected void populateViewHolder(BlogViewHolder viewHolder, JournalEntry model, int position) {
viewHolder.setTitle(model.getTitle());
viewHolder.setDescription(model.getDescription());
}
};
recyclerView.setAdapter(recyclerAdapter);
}
public static class BlogViewHolder extends RecyclerView.ViewHolder {
View mView;
TextView textView_title;
TextView textView_decription;
public BlogViewHolder(View itemView) {
super(itemView);
mView=itemView;
textView_title = (TextView)itemView.findViewById(R.id.journal_title);
textView_decription = (TextView) itemView.findViewById(R.id.journal_event_title);
}
public void setTitle(String title)
{
textView_title.setText(title+"");
}
public void setDescription(String description)
{
textView_decription.setText(description);
}
当我实现这些方法时,我总是会遇到同样的错误;
谁能帮助我? Ps:我使用的是片段而不是活动。 更新我实现了这样的方法
FirebaseRecyclerAdapter<JournalEntry,BlogViewHolder> recyclerAdapter=new FirebaseRecyclerAdapter<JournalEntry, BlogViewHolder>(
JournalEntry.class,
R.layout.journal_list_item,
BlogViewHolder.class,
myref
) {
@Override
public BlogViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return null;
}
@Override
protected void onBindViewHolder(BlogViewHolder holder, int position, JournalEntry model) {
holder.setTitle(model.getEvent_title());
holder.setDescription(model.getEvent_content());
}
};
现在错误(内部编辑器)是 FirebaseAdapter 中的 FirebaseAdaper 无法应用于:
JournalEntry.class (java...consti.last.database.JournalEntry>)
R.layout.journal_list_item (int)
BlogViewHolder.class (java...consti.last.Journal.BlogViewHolder>)
myref (com...firebase.database.DatabaseReference)
【问题讨论】:
-
错误是什么?
-
“必须实现方法”
-
请提供您的 logcat 中的全部错误。
标签: android firebase firebase-realtime-database