OnCreateView 内的代码
contactList = v.findViewById(R.id.contacts_list);
contactList.setLayoutManager(new LinearLayoutManager(getActivity()));
contactList.setItemAnimator(new DefaultItemAnimator());
String UID = FirebaseAuth.getInstance().getCurrentUser().getUid();
Log.i("UID",UID);
Query query = FirebaseDatabase.getInstance()
.getReference()
.child("contacts").child(UID).child("contact").limitToLast(50);
options = new FirebaseRecyclerOptions.Builder<ContactModel>()
.setQuery(query, ContactModel.class)
.build();
contactList.setAdapter(new ContactsAdapter(options,getActivity()));
适配器类内部的代码
public class ContactsAdapter extends FirebaseRecyclerAdapter<ContactModel, Contacts.ViewHolder> {
Context c;
public ContactsAdapter(FirebaseRecyclerOptions<ContactModel> options, Context c) {
super(options);
this.c = c;
}
@Override
protected void onBindViewHolder(final ViewHolder holder, int position, ContactModel model) {
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.private_chat_item, parent, false);
return new ViewHolder(v);
}
}
引用没有问题。我在 Activity 课中使用相同的引用并且它有效。
此外,我还使用旧版本的 firebase recyclerview。一切正常。那么问题出在哪里..
最佳答案
在 setAdapter
方法之前使用 adapter.startListening();
为我解决了问题。
关于java - FirebaseRecyclerView 无法在 fragment 内工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47943914/