0

由于某种原因,我的recyclerView未附加到Firebase RecyclerView适配器。我正在实现recyclerView内的一个片段,显示在选项卡式活动。我的代码(相关部分):Firebase recyclerView未附加到适配器

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View rootView = LayoutInflater.from(container.getContext()) 
          .inflate(R.layout.fragment_fresh, container, false); 

     // Initialize ProgressBar and RecyclerView. 
     mProgressBar = (ProgressBar)rootView.findViewById(R.id.progressBar); 
     mSessionRecyclerView = (RecyclerView) rootView.findViewById(R.id.sessionRecyclerView); 
     mLinearLayoutManager = new LinearLayoutManager(getActivity()); 
     mLinearLayoutManager.setStackFromEnd(true); 
     mSessionRecyclerView.setLayoutManager(mLinearLayoutManager); 

     //implement recyclerview 
     mFirebaseDatabaseReference = FirebaseDatabase.getInstance().getReference(); 
     mFirebaseAdapter = new FirebaseRecyclerAdapter<Session, SessionViewHolder>(
       Session.class, 
       R.layout.item_session, 
       SessionViewHolder.class, 
       //change back to SESSIONS_CHILD 
       mFirebaseDatabaseReference.child("test")) { 
      @Override 
      protected void populateViewHolder(final SessionViewHolder viewHolder, 
               Session session, int position) { 

       //implementing populateViewHolder.. 
      } 
     }; 



     mSessionRecyclerView.setLayoutManager(mLinearLayoutManager); 
     mSessionRecyclerView.setAdapter(mFirebaseAdapter); 

     return inflater.inflate(R.layout.fragment_fresh, container, false); 
    } 

} 

XML只是一个recyclerView和progressBar。 值得一提的是我已经通过this thread.Tried将回收站的大小设置为wrap_parent,将setAdapter移至onCreate以及几乎所有其他答案 - 都无济于事。

编辑:我得到这个工作时,在一个活动内,但每当我尝试从一个片段内我得到这个错误。还尝试使用常规的recyclerView和自定义适配器,并发生相同的事情。 recyclerView是否在片段中以不同的方式将它自己附加到适配器上?

+1

够公平的,谢谢。 – Barazu

回答

0

好的,我终于修好了。问题实际上是在选项卡式活动中 - PlaceHolder片段中的getItem方法创建了PlaceHolder的新实例。 因此,我的碎片甚至还没有被创建。 跳过布局的线程都不建议检查,希望这有助于。

相关问题