2

我试图在我的列表视图中默认突出显示一个位置。

这是代码:我的列表视图声明:

<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>

物品清单申报

<?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"/>

现在我想在我的列表视图中默认用绿色标记一个位置。Java代码:

listview.setSelector(R.drawable.listselector);
listview.setSelection(20);

但所选元素未以绿色突出显示。我尝试了很多建议的解决方案,但没有任何效果。有任何想法吗?提前致谢。

4

2 回答 2

1

用这个

your_list_view.setItemChecked(0,true); // “0”是可选择的项目位置

为我工作:)

于 2015-01-07T08:30:58.617 回答
1

尝试在ListViewXML 中设置选择器:

<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.

于 2013-05-09T08:33:40.223 回答