Ich arbeite an der benutzerdefinierten Listview mit BaseAdapter. Ich habe ein kleines Problem nach dem Tippen auf ListView Element, dass bestimmte Zeile wird hervorgehoben, aber danach, wenn ich ein anderes Listenelement tippen wird es hervorgehoben, aber immer noch das ältere bleibt es gleich, es geht nicht in den vorherigen Zustand.Wie listview ein Elementelement auswählen?
Ich möchte sehen, dass ein Element auf einmal auswählen sollte.
MainActivity.java
if (musicRealmResults.get(currentIndex).isSelected() == false) {
musicRealmResults.get(currentIndex).setIsSelected(true);
playSong(currentIndex, true);
adapter.notifyDataSetChanged();
} else {
musicRealmResults.get(currentIndex).setIsSelected(false);
adapter.notifyDataSetChanged();
}
MusicAdapter.java
if (musicRealmResults.get(position).isSelected()) {
Typeface tf = Typeface.createFromAsset(mContext.getAssets(), "fonts/fonts_bold.otf");
holder1.albumsTextView.setTypeface(tf);
holder1.equalizerView.setVisibility(View.VISIBLE);
holder1.albumsImageView.setVisibility(View.INVISIBLE);
holder1.equalizerView.animateBars();
} else {
Typeface tf = Typeface.createFromAsset(mContext.getAssets(), "fonts/fonts_regular.otf");
holder1.albumsTextView.setTypeface(tf);
holder1.equalizerView.setVisibility(View.GONE);
holder1.albumsImageView.setVisibility(View.VISIBLE);
holder1.equalizerView.stopBars();
}
Bitte freundlich meine Post gehen und machen Sie mir, wie wählen Sie tun und in einer Listview Zeile deaktivieren.
In Ihrem OnItemClickListener von listview. Setzen Sie den Booleschen Wert (isSelected) der bestimmten Position auf wahr und setzen Sie false zurück. und notifyDataSetChanged. Dann in Ihrem Adapter getview(), nach dieser Flagge ändern, Farbe und Schriftart etc. –