我试图默认突出显示 ListView 中的一个位置。
代码如下: 我的 ListView 声明:
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
元素 list 声明
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="10dip"
android:textSize="20sp"
android:textStyle="bold" />
</LinearLayout>
在我的自定义选择器中,我有:
<item
android:drawable="@android:color/holo_green_light"
android:state_selected="true"/>
现在我想在 ListView 中默认用绿色标记一个位置。 Java代码:
listview.setSelector(R.drawable.listselector);
listview.setSelection(20);
但是所选元素并未以绿色突出显示。我尝试了很多建议的解决方案,但没有任何效果。 有任何想法吗? 提前致谢。
最佳答案
尝试在 ListView
XML 中设置选择器:
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:listSelector="@drawable/listselector"
/>
此外,定义选择器item
,如下所示:
android:background="@android:color/holo_green_light"
而不是android:drawable
。
关于Android ListView 选择默认项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16457462/