具有九个补丁项目背景问题的 ListView

2023-12-14

警告:此问题中的 XML 是错误的,请先阅读答案,然后再混淆!


我已经用头撞墙有一段时间了。以下帖子阐明了该主题,但未能解决我的问题:Android ListView 状态列表不显示默认项目背景 and 通过自定义选择器的 ListView 项目背景

当我选择列表项时,正确的九块背景会完美显示,但我无法获得最初显示的默认九块背景。在我看来,我需要以某种方式设置默认项目背景,但我不知道该怎么做。

列表显示:

<?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:orientation="vertical">
  <TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/shopListHeader"
    />
  <ListView
    android:id="@+id/shopList"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:dividerHeight="0px"
    android:divider="#FFFFFFFF"
    android:listSelector="@drawable/shop_list_selector"
    />
</LinearLayout>

选择器:

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

    <!-- the list items are enabled and being pressed -->
    <item
        android:state_pressed="true"
        android:drawable="@drawable/shop_list_item_pressed" />

    <item
        android:state_selected="true"
        android:textColor="#FFFFFFFF" />
</selector>

背景:

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

    <item
      android:state_selected="true"
      android:drawable="@android:color/transparent" />

    <item
        android:drawable="@drawable/shop_list_item" />
</selector>

正如您所看到的,我简化了参考文献中的示例。

您可能还注意到背景选择器没有在任何地方被引用。我开始将它扔在随机的地方(如果应用程序编译了添加则没有效果或导致强制关闭)

我还尝试在选择但未按下某个项目时阻止文本颜色变为黑色和灰色(可以通过滚动列表来完成)。由于我的背景中心为黑色,因此选择时文本将部分不可见。据我所知,该添加(选择器中的最后一个项目节点)没有任何作用。

有谁对让这个极其耗时的功能发挥作用有什么想法吗?


我本来打算删除这个帖子,但我不能,所以我会看看我是否不能用这个作为不该做的事情的例子:)

首先,在 ListView XML 中:android:listSelector="@drawable/shop_list_selector"
不要那样做!

我在这里想做的是设置列表项的背景和android:background物业没用。您可能已经注意到,项目 XML 丢失了,那是因为它在我的脑海中丢失了! (我在这个“问题”上苦苦钻研了无数个小时,但从未碰过它)所以这条线android:background="@drawable/shop_list_selector"进入项目的属性,一切都很精彩。 (记住上面的 XML 是非常错误的,所以不要使用它!)

...好吧,只是它在现实生活中看起来并不像我想象的那么好:(
回到绘图板!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有九个补丁项目背景问题的 ListView 的相关文章

随机推荐

  • for 循环括号内的两个分号

    我正在自定义在互联网上找到的代码 它是Adafruit 推文收据 我无法理解代码的很多部分 但最令我困惑的是括号内有两个分号的 for 循环 boolean jsonParse int depth byte endChar int c i
  • 如何在 Propel 中使用 MySQL 函数

    我想选择 1 个月或更晚的记录 查询是 SELECT FROM foobar WHERE created at gt DATE SUB curdate INTERVAL 1 MONTH 在 Symfony 中使用 Propel 我会 c 新
  • 无法使用 vba vlookup 查找日期

    我有一个 Excel 工作表 其中 A 列包含日期 B 列包含相应的日期 例如 A2 01 01 14 且 B2 星期三 依此类推 我尝试使用示例 vba 代码检索 B2 中的日期 但我不断收到错误消息 运行时错误 1004 无法获取wor
  • 即使不打开设置应用程序,是否可以将 Settings.bundle 中的设置设为默认值

    我有一个带有 settings bundle 的 iPhone 应用程序 可以处理我的应用程序的各种设置 我可以在 root plist 文件中设置默认值 使用 DefaultValue 属性 但这些值仅在用户第一次打开设置应用程序时使用
  • SICP 3.52 延迟 CDR

    练习3 52 define sum 0 define accum x set sum x sum sum 1 define seq stream map accum stream enumerate interval 1 20 2 defi
  • 在 php 中打印到 Zebra 打印机

    正在寻找使用 RAW 端口 9100 从 php 网页打印到 zebra IP 打印机的正确代码 有谁知道这是否可行 我需要将 ZPL 格式输出的字符串直接发送到 ZM400 标签打印机 我到处搜索 找到的最接近的是 使用php直接打印到网
  • 如何使下拉菜单自动完成消失 onblur 或单击 jquery 外部?

    下面是被调用以在搜索框中显示自动完成功能的函数 我希望自动完成功能在模糊或单击搜索框外部时消失 请告诉我应该在此函数中添加什么以使自动完成功能消失点击外面时向下消失 function hideLoader sub cont fadeIn 1
  • password_hash 到底是如何工作的?

    我试图理解密码哈希值充分以便能够向审核员解释 根据我对答案的寻找 我了解到password hash 函数是一个包装器crypt 在阅读 PHP 手册时预定义常量我看到它使用PASSWORD BCRYPT作为默认整数值 基本上它使用CRYP
  • PDO SQLite查询零结果问题

    我环顾四周 但似乎找不到任何有关此的信息 我不确定这是我的代码的问题还是内存 SQLite 数据库和 PDO 的已知问题 基本上 在将单行插入内存 SQLite 数据库表后 我希望与插入项不匹配的查询返回零行 但是 以下代码给出了一行 fa
  • 是否可以将 DataTable 作为 TextBox 中的 AutoCompleteSource? (C#)

    是否可以将 DataTable 作为 TextBox 中的 AutoCompleteSource C Jared 是正确的 如果不进行一些操作 就无法直接绑定 以下是使用 LINQ 数据集扩展检索字段作为自动完成源的示例 DataTable
  • Windows MIrror 驱动程序 远程显示驱动程序 VNC 服务器 Windows 8

    我正在开发远程桌面服务器的驱动程序 像 UltraVNC 内部协议 之类的东西 首先我发现 Windows 8 不支持镜像驱动程序 作为远程显示驱动程序的 DDI 的唯一子集 1 这是否意味着我需要为 Windows 8 实施远程显示驱动程
  • JavaScript:输入按键

    早上好 I am using java script in each page to trigger the Enter key press Event inside the textbox It is working fine Now i
  • 通过 Azure Powershell 设置 Azure 网站的主机名

    我正在尝试使用 PowerShell 将主机分配给 Azure 网站实例 我已验证要添加的域 主机是否有效 甚至转到 Azure 门户以验证其将新域识别为有效 但由于某种原因 下面的脚本没有像我认为应该的那样设置主机名 当我在为主机名设置新
  • 在运行时自动从 PowerShell 作业中提取数据

    当我试图做一些很可能超出 PowerShell 范围的事情时 我似乎遇到了障碍 我有一个主窗体脚本 它协调了我的大部分功能 但我需要另一个脚本来打开侦听器 system Net Sockets Udpclient Receive 并在整个程
  • 在 AWS Lambda 上安装新字体

    我正在 AWS Lambda 上安装 Imagemagick 但 Imagemagick 通常使用的字体似乎未预安装 如何添加其他字体 以下是我刚刚使用 pandoc xelatex 在 AWS Lambda 上处理自定义字体的工作 我假设
  • 使用 GDB 更改 JVM 中的变量值

    目前我有一个简单的Java程序 public class Test public static void main String args boolean test true while test System out println He
  • JavaFX 中滑块拇指的坐标

    有一些方法可以知道滑块拇指的位置JavaFX Use getBoundsInParent and a lookup Bounds bounds slider lookup thumb getBoundsInParent 您可能需要apply
  • 错误:SQLSTATE[HY000] [2002] 没有这样的文件或目录

    我知道这类问题可能被问过几次 但它们都与 laravel 有关 在我的例子中 这是没有框架的普通 php 我有一个表单 可以从用户那里收集表单并将其保存到数据库中 但我不断收到有关 MYSQL 的错误Error SQLSTATE HY000
  • Laravel 和谷歌地图:foreach 纬度/经度显示标记或地图

    我有一个带有纬度和经度字段的表位置 对于每个位置 我想要一个新地图 或者更好的新标记 它使用表位置中的纬度和经度在地图上显示城市 控制器的索引动作 public function index locations Location all l
  • 具有九个补丁项目背景问题的 ListView

    警告 此问题中的 XML 是错误的 请先阅读答案 然后再混淆 我已经用头撞墙有一段时间了 以下帖子阐明了该主题 但未能解决我的问题 Android ListView 状态列表不显示默认项目背景 and 通过自定义选择器的 ListView