ho un ListView popolato con ListItems XML personalizzati, questo è il XML:Android ListView non evidenzia quando un OnClickListener è impostato
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:padding="6dip">
...
</RelativeLayout>
ListView mostra correttamente sullo schermo e se clicco o tenere su un elemento diventa blu (sto usando tema Holo Light)
il problema nasce quando provo ad assegnare un OnClickListener alla vista, all'interno GetView nella mia attività che si estende BaseAdapter:
@Override
public View getView(int position, @Nullable View convertView, ViewGroup parent) {
...
convertView = InflateUtils.inflate(mContext, R.layout.list_item);
...
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(mContext, "Test", 2000).show();
}
});
...
}
dopo averlo fatto, il colore evidenziato dell'elenco non viene più mostrato, quando clicco o tengo premuto su un elemento dell'elenco il suo sfondo rimane bianco, comunque onClickListener funziona perfettamente.
Hai qualche suggerimento per ottenere il colore di evidenziazione mantenendo gli stili predefiniti di HoloLight?
Persona che ha downvoted, si preoccupa di commentare cosa c'è di sbagliato nella mia risposta? In questo modo ci avvicineremo alla verità. –
non l'ho fatto, comunque ero curioso di OnItemClickListener, pensi che questo risolva il mio problema? Esistono problemi di prestazioni che utilizzano separa OnClickListener? - Ho già letto quella domanda, ma la soluzione non sta usando lo stile HoloLight, che mi è richiesto. –
Bene, se i tuoi articoli sono simili, puoi usare un ascoltatore e differenziarlo per l'ID oggetto: un oggetto invece di possibilmente centinaia. Per quanto riguarda holo - puoi usare holo con la soluzione da quella risposta, usa lo sfondo di evidenziazione si chiama R.drawable.list_selector_holo_dark –