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

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

  • Wie benutzt man SortedList in RecyclerView mit Android-Datenbindungsbibliothek?
  • Wie man viele verschiedene Ansichtstypen in recyclerview viewholder verarbeitet
  • Wie bekomme ich Adview unter Viewpager in CoordinatorLayout
  • Markieren Sie das ausgewählte Element in einem RecyclerView
  • StaggeredGridLayoutManager reorganisiert Elemente
  • Die einfachste Möglichkeit, Strings mit Icons in einem RecyclerView anzuzeigen
  • Hinzufügen von Elementen zu Endless Scroll RecyclerView mit ProgressBar unten
  • Android java onClick konnte die Methode der Aktivität nicht ausführen
  • 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.