Android recyclerview zeigt keine Gegenstände an

Ich möchte diese Artikel in meinem recyclerview zeigen, aber es zeigt überhaupt nicht und ich kann den Fehler nicht sehen. Vielleicht kannst du mir helfen.

MainActivity.java

  • Beenden Sie die Zeile unter TabWidget
  • Haben Fragmente wirklich einen leeren Konstruktor?
  • Wie kann ich die Kräuselungsfarbe bei der Verwendung ändern? Attr / selectableItemBackground als Hintergrund?
  • Resources.getSystem () vs getResources ()
  • Sizing LRU Cache nach Gerätefähigkeiten und freiem Speicher
  • Flip Animation in Android für eine Fragment-Transaktion Einstellung ein "z" -Index oder eine Kamera
  • RecyclerView recyclerView = (RecyclerView)findViewById(R.id.rec); List<MenuData> list = new ArrayList<>(); recyclerView.setHasFixedSize(true); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); recyclerView.setLayoutManager(linearLayoutManager); MenuRecAdapter menuRecAdapter = new MenuRecAdapter(list); recyclerView.setAdapter(menuRecAdapter); 

    RecyclerAdapter:

      public class MenuRecAdapter extends RecyclerView.Adapter<RecViewHolder>{ private List<MenuData> mList; Activity context; public MenuRecAdapter(List<MenuData> mList){ this.mList = mList; } public int getItemCount(){ return mList.size(); } public RecViewHolder onCreateViewHolder(ViewGroup viewGroup, int position){ View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.menuitem, viewGroup, false); RecViewHolder pvh = new RecViewHolder(v); return pvh; } public void onBindViewHolder(RecViewHolder holder, int i){ holder.menuTeXT.setText(mList.get(i).text); } @Override public void onAttachedToRecyclerView(RecyclerView recyclerView) { super.onAttachedToRecyclerView(recyclerView); } } 

    ViewHolder der Artikel:

      public class RecViewHolder extends RecyclerView.ViewHolder { public TextView menuTeXT; public RecViewHolder(View itemView){ super(itemView); menuTeXT = (TextView)itemView.findViewById(R.id.menuTXT); } } 

    Und die Daten, die ich in mein recyclerview setzen will (was nicht zeigt):

      class MenuData { String text; MenuData(String text){ this.text = text; } private List<MenuData> list; private void initializeData(){ list = new ArrayList<>(); list.add(new MenuData("Featured")); list.add(new MenuData("Categories")); list.add(new MenuData("Sell")); list.add(new MenuData("Settings")); list.add(new MenuData("Logout")); } } 

    Danke im Voraus

  • Die ListView-Auswahl bleibt nach dem Auslösen des Wahlmodus beharrlich
  • Mehrere Bildschirmauflösungen / Seitenverhältnisse (Spiele)
  • Android Push-Benachrichtigung ohne GCM verwenden
  • Neustart von adb aus root in den User-Modus?
  • Android Bluetooth Bluejacking möglich?
  • Wie kann ich Tamil Unicode in Android rennen?
  • 2 Solutions collect form web for “Android recyclerview zeigt keine Gegenstände an”

    In MainActivity

     ArrayList<String> list = new ArrayList<>(); list.add("something1"); list.add("something2"); RecyclerView recyclerView = (RecyclerView)findViewById(R.id.rec); recyclerView.setHasFixedSize(true); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); recyclerView.setLayoutManager(linearLayoutManager); MenuRecAdapter menuRecAdapter = new MenuRecAdapter(list); recyclerView.setAdapter(menuRecAdapter); 

    RecyclerView Adapter

     public class MenuRecAdapter extends RecyclerView.Adapter<RecViewHolder>{ private ArrayList<String> mList = new ArrayList<>(); Activity context; public MenuRecAdapter(ArrayList<String> mList){ this.mList = mList; } public int getItemCount(){ return mList.size(); } public RecViewHolder onCreateViewHolder(ViewGroup viewGroup, int position){ View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.menuitem, viewGroup, false); RecViewHolder pvh = new RecViewHolder(v); return pvh; } public void onBindViewHolder(RecViewHolder holder, int i){ holder.menuTeXT.setText(mList.get(i)); } @Override public void onAttachedToRecyclerView(RecyclerView recyclerView) { super.onAttachedToRecyclerView(recyclerView); } } 

    Und ViewHolder bleibt gleich …

     public class RecViewHolder extends RecyclerView.ViewHolder { public TextView menuTeXT; public RecViewHolder(View itemView){ super(itemView); menuTeXT = (TextView)itemView.findViewById(R.id.menuTXT); } } 

    Auch die MenuData-Klasse loswerden. Der obige Code sollte gut funktionieren.

    Da du keine Daten bekommst, schätze ich das Problem, wenn du die Liste in deinem Adapter passierst. Ich sehe, Sie haben keine Kopie Ihrer Liste gemacht, also übergeben Sie die Referenz der Liste direkt in den Adapter. Ich empfehle Ihnen, MenuRecAdapter menuRecAdapter = new MenuRecAdapter(new Arraylist(list)); zu versuchen MenuRecAdapter menuRecAdapter = new MenuRecAdapter(new Arraylist(list));

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.