Ich hatte ListView
implementiert, die perfekt funktionierte. Jeder Listeneintrag enthält ImageView
und TextView
. Vorschaubild und TitelsetOnClickListener von imageView innerhalb recyclingApp Handhabung
I umgesetzt imageView.setOnItemClick()
in ListviewAdaper
dass TextView
zeigt und es wieder auf ImageView
klicken machen TextView
GONE.
Jetzt wechselte ich zu RecyclerView
mit dem gleichen Layout (ImageView
und TextView
).
In public void onBindViewHolder()
von meinem RecyclerAdaper
haben den gleichen Code hinzugefügt, wie ich in der Listenansicht implementiert wurde.
public void onBindViewHolder(MyViewHolder holder, int position) {
imageview = holder.image;
textview = holder.text;
imageview.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (type != MyGlobals.DATA_TYPE1) {
if (subtitle.getVisibility() == View.VISIBLE) {
imageview.startAnimation(rotate_backward);
textview.setVisibility(View.GONE);
} else {
imageview.startAnimation(rotate_forward);
textview.setVisibility(View.VISIBLE);
}
}
}
});
}
Problem hier ist, wenn ich RecyclerView
Einträge mehr als 1 haben, und ich auf jeden ImageView
Eintrag jeder RecyclerView
Eintrag, nur letzte entrie der TextView
hat visible/GONE werden und nicht der jeweilige entrie des TextView
.
Wenn ich auf Debugger setzen und Pause bei onClick
von ImageView
, es zeigt eigentlich die TextView
des letzten Eintrags oder RecyclerView
.
Wie kann ich jedes ImageView
von jedem RecyclerView
Eintrag unabhängig behandeln, um TextView
sichtbar/gegangen zu machen?
Nur eine Anmerkung hatte ich OnClickListener
und OnLongClickListener
von jedem Eintrag auch die gut funktionieren.
Danke verwenden können. Das hat funktioniert. Jeder recyclerview-Eintrag ist (Bild, Titel, Untertitel, Anzahl), der ein separates Klassenobjekt ist und seine Liste dataList ist gefüllt. Um auf einen einzelnen Eintrag in onClick (in meinem Fall Textansicht) zuzugreifen, kann ich einen Eintrag von dataList.get (getAdapterPosition()) erhalten, wenn der Eintrag in der detaillierten Liste bearbeitet werden muss. –
Froh, es hat funktioniert. Eine andere Möglichkeit besteht darin, die Dateninstanz während des Bindens zum Holder hinzuzufügen, wie 'halter.data = dataList.get (position)', so dass sie dann während des Klickens betriebsbereit ist – Budius