ho guardato dappertutto e non delle risposte mi ha aiutato fino a quando uno ha fatto.
Quello che ho fatto è stato creare un HolderView e avvolto tutti i miei textviews e altri widget nella mathod GetView del adpater:
mettere questa classe in:
static class ViewHolder
{
TextView text1;
TextView text2;
TextView text3;
}
e ho anche decalared lo stesso quelli normalmente come sono separati ora:
TextView text1;
TextView text2;
TextView text3;
quindi dichiarare tutti i punti di vista e widget dopo gonfiare il layout in GetView:
holder = new ViewHolder();
holder.text1 = (TextView) vi.findViewById(R.id.textView2single);
holder.text2 = (TextView) vi.findViewById(R.id.textView3single);
holder.text3 = (TextView) vi.findViewById(R.id.textView4single);
all'interno del metodo onClick, ho usato:
View parentView = (View) v.getParent();
e poi dichiarato tutti i miei widget nuovamente utilizzando questo parentview:
text1 = (TextView) parentView.findViewById(R.id.textView2single);
text2 = (TextView) parentView.findViewById(R.id.textView3single);
text3 = (TextView) parentView.findViewById(R.id.textView4single);
In questo modo im costringendo il mio onClick per ottenere il genitore posizione dell'elemento della vista elenco, quindi tutti i widget all'interno di quel genitore possono essere richiamati facilmente, quindi puoi fare quello che ti piace con esso. Questo è l'unico modo in cui ho trovato che funziona.
fonte
2013-08-21 23:42:04
'setOnItemClickListener()' su listview se u bisogno solo di fila id – MAC
[vedere questo esempio] (http://samir-mangroliya.blogspot.in/p/android-customized-listview.html) –