2017-12-22 1 views
0

코드 내부 OnCreateView에게 조각 내부에서 작업하지FirebaseRecyclerView는

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); 
     } 
} 

. 나는 활동 클래스에서 동일한 참조를 사용하고 작동한다.

또한 firebase recyclerview의 이전 버전을 사용하고있었습니다. 그것은 잘 작동했다. 그래서 어디에 문제가 될 수 있습니다 ..

+0

'parent.getContext()'를'(c)'로 변경하면 어떨까요? 문맥은'c'입니까 ?? 그것을 시도하고 말해! – Xenolion

+0

같은 문제가 있습니다. 이제 LogColumn을 onCreateViewHolder 안에 추가하려고했습니다. 하지만 전화가 ... – Kim

답변

1

방법 전에 adapter.startListening();을 사용하면 나를 위해 문제가 해결되었습니다.