Java FirebaseRecyclerView在片段内部不工作
OnCreateView中的代码Java FirebaseRecyclerView在片段内部不工作,java,android,firebase,Java,Android,Firebase,OnCreateView中的代码 contactList = v.findViewById(R.id.contacts_list); contactList.setLayoutManager(new LinearLayoutManager(getActivity())); contactList.setItemAnimator(new DefaultItemAnimator()); String UID = FirebaseAuth.getInst
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()));
contactList=v.findviewbyd(R.id.contacts\u list);
setLayoutManager(新的LinearLayoutManager(getActivity());
setItemAnimator(新的DefaultItemAnimator());
字符串UID=FirebaseAuth.getInstance().getCurrentUser().getUid();
Log.i(“UID”,UID);
Query Query=FirebaseDatabase.getInstance()
.getReference()
.child(“联系人”).child(UID.child(“联系人”).limitToLast(50);
选项=新的FirebaseRecyclerOptions.Builder()
.setQuery(查询,ContactModel.class)
.build();
setAdapter(新的ContactsAdapter(选项,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);
}
}
公共类ContactsAdapter扩展了FirebaseRecyclerAdapter{
上下文c;
公共联系人适配器(FirebaseRecyclerOptions选项,上下文c){
超级(期权);
这个.c=c;
}
@凌驾
受保护的无效onBindViewHolder(最终ViewHolder、int位置、ContactModel){
}
@凌驾
public ViewHolder onCreateViewHolder(视图组父级,int-viewType){
视图v=LayoutInflater.from(parent.getContext())
.充气(R.layout.private\u chat\u项目,父项,false);
返回新的视图持有者(v);
}
}
参考资料没有问题。我在一个活动类中使用了相同的引用,它是有效的
我还使用了firebase recyclerview的旧版本。它工作得很好。那么问题出在哪里呢?使用
adapter.startListening()
beforesetAdapter
方法为我解决了这个问题。如果尝试将parent.getContext()
更改为(c)
,该怎么办。上下文是c
??试试看,告诉我!同样的问题。现在我尝试添加日志。我在onCreateViewHolder中添加了日志。但它不叫。。。