Я использую следующий код, чтобы выделить щелкнутый элемент. Но есть 2 проблемы:ListView: Изюминка исчезает, когда я прокручиваю
- При первом щелчке элемента, подсветка не появляется. Таким образом, элементы выделяются только после того, как я нажимаю элементы во второй раз.
- Когда я прокручиваю, подсветка исчезает. Вместо этого мне нужно, чтобы элементы оставались выделенными до тех пор, пока не будет нажат другой элемент.
Не могли бы вы помочь мне решить эти 2 проблемы?
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
view.setSelected(true);
bg_key.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector
android:id="@+id/myselector"
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Non focused states -->
<item
android:state_selected="true"
android:drawable="@color/activated_color" />
<item
android:drawable="@color/default_color" />
</selector>
song_layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="0dp"
android:paddingRight="0dp"
tools:context=".MainActivity"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:background="@drawable/bg_key">
гвоздем исчезает, потому что вид ребенка из списка перерабатываются – Redman
@Redman так что я могу сделать ? :) – xRobot
Я знаю решение, вы можете удалить условие 'if (convertview == null)' condition в методе getview(), используйте это, если в вашем списке несколько элементов, его не рекомендуется. – Redman