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的新實例。 因此,我的碎片甚至還沒有被創建。 跳過佈局的線程都不建議檢查,希望這有助於。

相關問題