Android列表视图选择默认项目

时间:2013-05-09 08:23:07

标签: android listview selector

我试图默认突出显示listview中的位置。

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

<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);

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

2 个答案:

答案 0 :(得分:1)

尝试在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

答案 1 :(得分:1)

使用此

your_list_view.setItemChecked(0,TRUE); //&#34; 0&#34;是可选项目位置

为我工作:)