Android 在水平列表视图中单击项目

Android 在水平列表视图中单击项目,android,listview,onitemclick,horizontallist,Android,Listview,Onitemclick,Horizontallist,我已经创建了水平listView,如中所述 一切正常唯一的问题是当我们点击一个元素(点击单元格的颜色变化)时得到的效果不在自定义水平列表中 有没有办法克服这个问题在我的应用程序中,我已将以下文件添加到可绘制文件夹中,以在选择列表项后更改其颜色: 列表选择器.xml <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected=

我已经创建了水平listView,如中所述

一切正常唯一的问题是当我们点击一个元素(点击单元格的颜色变化)时得到的效果不在自定义水平列表中


有没有办法克服这个问题

在我的应用程序中,我已将以下文件添加到可绘制文件夹中,以在选择列表项后更改其颜色:

列表选择器.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
     android:state_selected="false"
        android:state_pressed="false"
        android:drawable="@drawable/gradient_bg" />

    <item android:state_pressed="true"
        android:drawable="@drawable/gradient_bg_hover" />

    <item android:state_selected="true"
     android:state_pressed="false"
        android:drawable="@drawable/gradient_bg_hover" />
</selector>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

  <gradient
      android:startColor="#f1f1f2"
      android:centerColor="#e7e7e8"
      android:endColor="#cfcfcf"
      android:angle="270" />
</shape>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
  <gradient
      android:startColor="#A6A6A6"
      android:centerColor="#757575"
      android:endColor="#4A4A4A"
      android:angle="270" />
</shape>

gradient_bg.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
     android:state_selected="false"
        android:state_pressed="false"
        android:drawable="@drawable/gradient_bg" />

    <item android:state_pressed="true"
        android:drawable="@drawable/gradient_bg_hover" />

    <item android:state_selected="true"
     android:state_pressed="false"
        android:drawable="@drawable/gradient_bg_hover" />
</selector>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

  <gradient
      android:startColor="#f1f1f2"
      android:centerColor="#e7e7e8"
      android:endColor="#cfcfcf"
      android:angle="270" />
</shape>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
  <gradient
      android:startColor="#A6A6A6"
      android:centerColor="#757575"
      android:endColor="#4A4A4A"
      android:angle="270" />
</shape>

gradient\u bg\u hover.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
     android:state_selected="false"
        android:state_pressed="false"
        android:drawable="@drawable/gradient_bg" />

    <item android:state_pressed="true"
        android:drawable="@drawable/gradient_bg_hover" />

    <item android:state_selected="true"
     android:state_pressed="false"
        android:drawable="@drawable/gradient_bg_hover" />
</selector>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

  <gradient
      android:startColor="#f1f1f2"
      android:centerColor="#e7e7e8"
      android:endColor="#cfcfcf"
      android:angle="270" />
</shape>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
  <gradient
      android:startColor="#A6A6A6"
      android:centerColor="#757575"
      android:endColor="#4A4A4A"
      android:angle="270" />
</shape>

希望这能有所帮助:)

您确实需要改进这一点。祝你好运