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

  • Build-Handy-Lücke App für Android fehlgeschlagen
  • Update Android SDK Tool auf 22.0.4 (neueste Version) ab 22.0.1
  • Card_view Material Design
  • Welches ist besser Leistung weise: setOnClickListener VS android: onclick = "onClick"
  • Holen Sie alle installierten Anwendungssymbole in Android: java.lang.ClassCastException
  • Erkennen Briefe von einer Person mit Java gesagt
  • 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

  • Wenn getView () in ArrayAdapter aufgerufen wird
  • Wie man GridView in ScrollView platziert
  • Über "_id" -Feld in Android SQLite
  • Produkte aus verschiedenen Paketen starten
  • Fehler beim Öffnen des Eclipse Android Layout Editors
  • Flurry Integration in die gleiche App auf Android und iOS
  • 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.