Ich habe eine Listview mit benutzerdefinierten XML Listitems bevölkert, ist dies die XML ist:Android Listview-Highlight nicht, wenn ein OnClickListener gesetzt
<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>
Listenansicht zeigt korrekt auf dem Bildschirm, und wenn ich auf ein Element klicken oder halten es wird blau (ich bin mit Holo-Licht Theme)
das Problem kommt, wenn ich versuche, eine OnClickListener der Ansicht zuweisen, innerhalb getView in meiner Tätigkeit, die BaseAdapter erweitert:
@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();
}
});
...
}
Danach wird die Hervorhebungsfarbe des Listenelements nicht mehr angezeigt, wenn ich auf ein Listenelement klicke oder halte, bleibt der Hintergrund weiß, trotzdem funktioniert der onClickListener einwandfrei.
Haben Sie Vorschläge, die Highlight-Farbe zu erhalten, während Sie die Standardstile von HoloLight beibehalten?
Person, die downvoted, sich kümmern, um zu kommentieren, was mit meiner Antwort falsch ist? So kommen wir der Wahrheit näher. –
ich nicht, jedenfalls war ich neugierig auf OnItemClickListener, meinst du, dass dies mein Problem lösen wird? Gibt es Leistungsprobleme bei der Verwendung von OnClickListener? - Ich habe diese Frage bereits gelesen, aber die Lösung verwendet nicht den HoloLight-Stil, den ich brauche. –
Nun, wenn Ihre Artikel ähnlich sind, können Sie einen Listener verwenden und nach Artikel-ID unterscheiden - ein Objekt statt möglicherweise Hunderte. Wie für holo - Sie können Holo mit der Lösung aus dieser Antwort verwenden, verwenden Sie die Hervorhebung Hintergrund heißt R.drawable.list_selector_holo_dark –