In der folgenden Code 'setlisteners' Methode wird jedes Mal aufgerufen, soll Wert der Position ändern? Es gibt nur einen method'setlisteners'in dem die Parameterposition übergeben wird, aber wenn ich log, sehe ich, dass, wann immer click event auf meinen Buttons passiert, es die korrekte Position anzeigt. Sollte sich die Position nicht selbst überschreiben und eine falsche Position anzeigen, da ein Klickereignis jederzeit eintreten kann, bis dahin hat sich der Wert der Position geändert?klicken Sie auf Listener in OnBindViewholder Recyclerview android
nehmen wir an 5 Ansichten binded wurden und i klicken Sie auf den ersten itemview, dann should'nt es mir die letzte Position des letzten itemview binded gehalten zeigen?
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
setListeners(holder,position);
}
private void setListeners(ViewHolder holder, final int position) {
holder.updownarrow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e("ddfg",""+position);
}
});
holder.leftlayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
Position wird die Position des letzten Halter halten, die in onBindViewHolder binden war, da meine Ansicht nicht onBindViewHolder nicht anrufen, wenn ich darauf klicke, should'nt die Position letzte binded Position halten und zeigen nur diese eine Position, wenn eine Ansicht angeklickt wird?
Sie haben gesagt: "Position wird die Position des letzten Halters halten, der in onBindViewHolder gebunden wurde". Dann nehmen wir an, dass 5 Ansichten verknüpft wurden und ich auf die erste Objektansicht klicke, dann sollte sie mir nicht die letzte gehaltene Position anzeigen nach der letzten abgebundenen Artikelansicht? – user6265154
Ja, sollte es tun. Dies bedeutet jedoch nicht, dass Ihr letzter Listeneintrag die letzte gebundene Ansicht ist. – yennsarah