0

Aus irgendeinem Grund wird mein RecyclerView nicht mit dem Firebase RecyclerView Adapter verbunden. Ich implementiere die RecyclerView in einem Fragment, das in einer Aktivität mit Registerkarten angezeigt wird. Mein Code (relevante Teile):Firebase RecyclerView ist nicht an den Adapter angeschlossen

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

} 

Das XML ist nur ein RecyclerView und ein Fortschrittsbalken. Erwähnenswert, dass ich durch this thread gegangen bin.Tried Einstellung Recycler-Größe zu wrap_parent, verschieben setAdapter zu onCreate, und so ziemlich jede andere Antwort - ohne Erfolg.

EDIT: Ich habe das funktioniert, wenn innerhalb einer Aktivität, aber immer wenn ich versuche innerhalb von Fragmenten bekomme ich diesen Fehler. Auch versucht mit einem normalen RecyclerView und einem benutzerdefinierten Adapter und das gleiche passiert. Fügt sich das recyclerView in einem Fragment anders an einen Adapter an?

+1

Fair genug, danke. – Barazu

Antwort

0

OK, endlich habe ich es behoben. Das Problem lag tatsächlich in der Aktivität mit Registerkarten - die getItem-Methode innerhalb des PlaceHolder-Fragments erstellte eine neue Instanz von PlaceHolder. Deshalb wurden meine Fragmente nicht einmal erstellt. Keiner der Themen auf dem überspringenden Layout raten, das zu überprüfen, hoffe, das hilft.

Verwandte Themen