2 xiaoyan 12 xiaoyan_12 于 2013.04.09 17:03 提问

Android 中 ListView selector 不能运行

我使用list selector,但是不能很好的运行。点击list item后可以获得效果,但是在点击item之前没有任何效果出现。下面是 selector 的代码:

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

我已经把它应用到 listView

<ListView
        android:id="@+id/listView123"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"         
        android:listSelector="@drawable/list_selector"
        android:drawSelectorOnTop="true"
        android:focusable="true"
        >
    </ListView>

如何解决这个问题?谢谢!

2个回答

luhuajcdd
luhuajcdd   2013.04.10 12:34
已采纳

listView中设置Selector是没有错的, 是不是list_selector 不太对,

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
     android:state_selected="false"
        android:state_pressed="false"
        android:drawable="@drawable/ic_launcher" />
    <item 
    android:state_focused="true" 
    android:state_pressed="false" 
    android:drawable="@drawable/headerplain" />    
    <item android:state_selected="true"
     android:state_pressed="false"
        android:drawable="@drawable/headerplain" />
     <item android:state_pressed="true"
      android:drawable="@drawable/headerplain" /> <!--这句放到最后试试--> > </selector>
baimy1985
baimy1985   2013.04.09 22:01
android:background="@drawable/list_selector"用这种试试
baimy1985
baimy1985 我明白你的意思了,也许提问者可以换个方式实现他想要的效果
大约 5 年之前 回复
luhuajcdd
luhuajcdd android:background="@drawable/list_selector" 这样写应该是listview的整个背景,而selector是listview 中每一个item的效果
大约 5 年之前 回复
baimy1985
baimy1985 不是吧,源码也有这么用啊,不行的原因是什么?
大约 5 年之前 回复
luhuajcdd
luhuajcdd 这种方法是不行的
大约 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!