Das Ziel ist, wenn ich auf ein Element in der Rasteransicht klicke, sollte es eine andere Aktivität öffnen, die die Details des ausgewählten Elements zeigt. Der Wert, der an die neue Aktivität (über die .putExtra) übergeben wird, ist jedoch immer der letzte Eintrag in der Arraylist, unabhängig davon, auf welchen Eintrag ich tippe. Dies ist in der Adapterklasse BTW. wegen des OnClickListener()
Satzes in onBindViewHolder
Methode Danke :)Position in onBindViewHolder im Adapter gibt immer das letzte Element zurück
Der Code kann unter
@Override
public void onBindViewHolder(final listHolder newsHolder, final int position) {
currentNews = newsList.get(position);
listHolder.ivArt.setImageResource(currentNews.getArt());
newsHolder.ivArt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(viewGroup.getContext(), ViewNewsActivity.class);
intent.putExtra("list, (Parcelable) list);
viewGroup.getContext().startActivity(intent);
}
});
}
machen Ihre 'ViewHolder' implementiert' OnClickListener' und einer der „Position“ Getter-Methode verwenden innen 'onClick' Methode – pskink
warum Sie Gabe von Parametern als final sind? !! – Fakher