Hallo Ich habe ein Problem bekommen alle Elemente von meinem Adapter in meinem Fragment. Genauer gesagt verwende ich einen ScaleInAnimatorAdapter zusammen mit meinem Kundenadapter, und wenn ich versuche, meine Checkbox-Elemente aus dem unten angegebenen Code zu bekommen, sehe ich innerhalb meines Fragments scheinbar nur die sichtbaren Elemente auf dem Bildschirm.Erhalten Sie alle Elemente von Adapter (Recyclerview) in Fragment
private View.OnClickListener onAllClick = new View.OnClickListener() {
@Override public void onClick(View v) {
int count = listAdapter.getItemCount();
for (int i = 0; i < count; i++) {
View mChild = listTopics.getChildAt(i);
if(mChild != null) {
Log.d(TAG,"getItemCount(): " + i);
CheckBox cBox = (CheckBox)mChild.findViewById(R.id.topic_chk);
cBox.setChecked(((CheckBox) v).isChecked());
Log.d(TAG,"isChecked" + cBox.getTag());
cBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(((CheckBox) v).isChecked()) {
checkboxAll.setChecked(false);
}
}
});
}
}
}
};
Im Grunde bin ich versucht, einen Scheck alle Features aus dem Fragment zu erzeugen, so dass, wenn diese alle der Kontrollkästchen Elemente aus dem Adapter geprüft geklickt wird. Ich habe das zum Arbeiten mit dem Code, den ich vorgestellt habe, aber das Hauptproblem ist, dass ich nur die Elemente auf dem Bildschirm sichtbar bekomme. Wenn ich also zu meinen anderen Elementen scrolle, werden sie nicht überprüft. Also frage ich mich, ob es einen besseren Weg oder einen anderen Weg für mich gibt, alle Artikel zu bekommen
Ok, ich sehe jetzt. Ich habe dieses Konzept aus irgendeinem Grund missverstanden. Also wenn ich dich richtig verstanden habe, sollte ich stattdessen zB in meinem Model einen setChecked, isChecked und toggleChecked haben, um die Daten zu aktualisieren und in meinem Adapter einige andere Methoden haben, die die Ansicht der entsprechenden Checkboxen basierend auf diesen Daten aktualisieren. – hect1c