【问题标题】:Android listview select default itemAndroid listview 选择默认项
【发布时间】:2013-05-09 08:23:07
【问题描述】:

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

代码如下: 我的列表视图声明:

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

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

【问题讨论】:

    标签: android listview selector


    【解决方案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

    【讨论】:

    • 请分享您的其余代码。完整的选择器 XML 和您从中设置选择的类。您是否记得在将 listview.setSelector(R.drawable.listselector); 添加到 XML 后将其删除?
    【解决方案2】:

    使用这个

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

    为我工作:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-20
      • 1970-01-01
      • 2015-11-04
      • 2017-12-18
      • 1970-01-01
      相关资源
      最近更新 更多