android - Listview 上的 ListSelector 不工作

标签 android listview

我有这样的自定义列表选择器:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item 
        android:state_pressed="true"
        android:drawable="@drawable/bg_list_hover"></item>
    <item 
        android:state_focused="true"
        android:drawable="@drawable/bg_list"></item>
</selector>

和我的 ListView :

<?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="match_parent"
    android:orientation="vertical"
    android:background="@drawable/bg_dasar" >
    <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="StoreCategory" 
                android:textSize="15sp"
                android:paddingLeft="10dip"
                android:paddingTop="10dip"
                android:paddingRight="10dip"
                android:textColor="@color/textcolor"/>

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="10dip"
        android:listSelector="@drawable/listselector">
    </ListView>

我的问题是,当我不点击 listview 时,listview 项目不使用聚焦状态背景 (@drawable/bg_list) ...

有人可以帮帮我吗???

最佳答案

对于那些仍然需要它的人:关键是将 listSelector 设置为列表项的背景!

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#819FF7"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/mainList"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:cacheColorHint="#819FF7"
        />

 </LinearLayout>

list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/lineItem"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:background="@drawable/list_selector">

     <ImageView android:id="@+id/imageView"
        android:layout_width="96dp"
        android:layout_height="64dp"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="10dp" 
        android:layout_marginTop="10dp" 
        android:layout_marginBottom="10dp" />

    <TextView
        android:id="@+id/textView"
        android:layout_toRightOf="@+id/imageView"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dip" 
        android:layout_centerVertical="true"
        android:textSize="18sp"
        android:textColor="#ff000000" 
        android:layout_width="wrap_content"
        />
    <Button 
        android:id="@+id/button" 
        android:gravity="center"
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginRight="10dp" 
        android:layout_alignParentRight="true"
        android:focusable="false" 
        android:text="Delete" />

</RelativeLayout>

关于android - Listview 上的 ListSelector 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13069291/

相关文章:

android - 使用 github 操作和问题签署发布 apk

java - 使用 JSoup 转到 aspx 表单上的下一页

c# - 调整 ListView 列以适应 WinForms

android - 如何在将文本插入 TextView 之前拦截文本

android - 如果状态由我的类组成,如何在 Android 中的方向更改期间保存状态?

c++ - 重新排列 ListView 项

android - ListView 项目Android中的水平 ScrollView

Winapi ListView 无法阻止列大小调整

java - 数字格式异常 : Invalid int "-"

Android - 带复选框的 ListView