android - 查看背景颜色不能与选择器一起使用?

标签 android listview selector

我正在开发一个 android 应用程序,我有很多项目要通过 ListView 显示:

    <ListView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:id="@android:id/list"
            android:layout_gravity="right|center_vertical"
            android:listSelector="@drawable/bg_selector"/>  

bg_selector.xml:

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

我希望每个项目都有不同的背景颜色,我在 adaptergetView 方法中设置它们:

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder viewHolder;
        .....
        Color color=generateColor();
        viewHolder.textView.setBackgroundColor(color);
        return convertView;
    }

但是我发现,一旦我选择了一个项目,我将 selector 设置为 ListView enter image description here 时,对用户事件没有响应。

最佳答案

问题:

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

当项目未被点击时,你需要有一个默认颜色,否则它不会工作

示例:

<?xml version="1.0" encoding="utf-8"?>
<selector
        xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="#8F136fb8"/>
    <item android:state_pressed="false" android:drawable="@android:color/transparent"/>
    <item android:drawable="@android:color/transparent"/>
</selector>

关于android - 查看背景颜色不能与选择器一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25226811/

相关文章:

android - 使用 CollapsingToolbarLayout 时 ListView 不适合底部

ios - 选择器未触发委托(delegate)方法

android - 保护客户端/服务器数据。 (安卓)

android - 将协调器布局与 recyclerview 结合使用时滚动出现卡顿现象

android - 使用 android simpleCursorAdapter 的多个 ListViews

swift - 没有为 UIBarButtonItem 调用 iOS 选择器

ios - 选择器的 "jump"在父 NavigationBar 中的 NavigationItem 调用函数中

android - 在 bash 脚本中运行 apktool

android - onSaveInstanceState 是否应该保存 View 的 "enabledness"?

java - 使用 JSCH (android) 将 ssh 日志打印到列表