Ich habe die anderen Fragen durchgesehen, aber keine der Antworten funktionierte für mich.RecyclerView: Kein Adapter angeschlossen; Layout in Aktivität überspringen
Der Fehler, den ich immer bin, wenn die RecyclerView aufzublasen versuchen, ist:
E/RecyclerView: Kein Adapter angebracht ist;
Layout Überspringen Dies ist ein Beispiel-Item für die Arraylist ich in mein RecyclerView aufzublasen bin versucht:
//Chord Obj: Chord(int images[], String name, Int sound)
chords.add(new Chord(new int[]{
R.drawable.do_maggiore, R.drawable.do_maggiore_alt1, R.drawable.do_maggiore_alt2,
R.drawable.do_maggiore_alt3, R.drawable.do_maggiore_alt4, R.drawable.do_maggiore_alt5,
R.drawable.do_maggiore_alt6}, Resources.getSystem().getString(R.string.c), R.raw.do_maggiore));
Das ist mein List_Adapter.java
:
public class List_adapter extends RecyclerView.Adapter<List_adapter.MyViewHolder> {
private ArrayList<Chord> list;
Context c;
public class MyViewHolder extends RecyclerView.ViewHolder {
private TextView name;
private ImageView image;
private MyViewHolder(View v) {
super(v);
name = (TextView) v.findViewById(R.id.name);
image = (ImageView) v.findViewById(R.id.chord_image);
}
}
public List_adapter(Context c, ArrayList<Chord> list) {
this.list = list;
this.c = c;
}
@Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.list_row, parent, false);
return new MyViewHolder(itemView);
}
@Override public void onBindViewHolder(MyViewHolder holder, int pos) {
Chord chord = list.get(pos);
holder.name.setText(chord.getName());
holder.image.setImageResource(chord.getImages()[0]);
}
@Override public int getItemCount() {return list.size();}
}
Dies ist, wo ich die Liste und aufblasen in meine Main_Activity.onCreate()
:
/* gets the list */
chords = new ArrayList<>();
ChordsList list = new ChordsList();
list.createList();
chords = list.getList();
/* puts the list into the recyclerView */
recyclerView = (RecyclerView) findViewById(R.id.chords_recycler);
recyclerView.setLayoutManager(new LinearLayoutManager(Main_list_activity.this,
LinearLayoutManager.VERTICAL, false));
recyclerView.setHasFixedSize(true);
final List_adapter adapter = new List_adapter(this, chords);
recyclerView.setAdapter(adapter);
und schließlich ist das mein xml:
...
<android.support.v7.widget.RecyclerView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/chords_recycler"
android:layout_alignParentStart="true"
android:layout_marginTop="25dp" />
...
Das ist, was ich bisher versucht habe:
- überprüft, ob RecyclerView irgendwie versteckt geschrumpft wurde. Es ist nicht.
- Mehrere Elemente aus meiner Liste hinzugefügt und entfernt. Nichts hat sich geändert.
- Es wurde versucht, den Recycler zuerst auf einen leeren Adapter zu setzen. auch kein Glück.
- debuggte und überprüft, ob die Liste im aufgeblasenen Zustand null war. Es ist nicht.
Ich weiß nicht wirklich, was ich sonst noch tun könnte. Ich würde mich über Hilfe freuen.
EDIT:
Ich weiß nicht wirklich, ob es hilfreich, aber ich die Navigationsleiste Preset verwendet, wenn mein Projekt zu schaffen und ich hinzufüge, diesen Code in einer Klasse I erstellt und stellen Sie das Layout R.layout.content_drawer
.
Darüber hinaus beim Debuggen Ich habe kein Ergebnis aus dem Debugger erhalten hier ein Bild:
Danke für die Antwort. Ich habe das schon ausprobiert, aber hatte kein Glück – Daniele
können Sie bitte überprüfen, dass die Recyclerview nicht mit der Scrollview ist. –