Voglio creare un listview che sia simile in funzionalità all'app Android di Gmail. Con ciò intendo che è possibile selezionare le righe facendo clic su un'immagine a sinistra o visualizzare un messaggio di posta elettronica facendo clic in qualsiasi altro punto della riga. Posso avvicinarmi, ma non è proprio lì.Lista list di stile Gmail
La mia riga personalizzata consiste in una ImageView sulla sinistra e alcune TextViews sulla destra. Ecco il succo di getView sul mio adattatore.
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View row = super.getView(position, convertView, parent);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getListView().setItemChecked(position, !getListView().isItemChecked(position));
}
});
row.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getActivity(), "" + position, Toast.LENGTH_SHORT).show();
}
});
}
Questo è molto vicino! Ciò che manca è l'evidenziazione della riga sul listener di clic riga.
Si sta parlando di 'Menus' contestuale? –
No. Apri l'app Gmail, se fai clic sul lato sinistro di una riga la riga viene selezionata. Se si fa clic in qualsiasi altro punto, si viene portati alla vista di dettaglio (il contenuto dell'e-mail). – user140550
Ottieni l'animazione che capovolge l'immagine in una casella con questo codice? Sto cercando di fare lo stesso, ma non riesco a immaginare che sarebbe così semplice? Per la selezione è necessario impostare il colore di sfondo dell'oggetto riga quando la riga è effettivamente selezionata e per questo è necessario salvare gli stati di selezione. La risposta di Chanu sembra essere esattamente ciò di cui hai bisogno? – 3c71