gpt4 book ai didi

java - Android ListView 持久化背景

转载 作者:太空宇宙 更新时间:2023-11-03 10:50:54 24 4
gpt4 key购买 nike

我的问题是:是否可以将可绘制资源应用于 ListView 中的 TextView,使其在用户从 TextView 抬起手指后保持其背景颜色?

考虑:

  1. 用户在 ListView 中选择一个项目
  2. 列表项突出显示
  3. 用户将他/她的手指从元素上移开
  4. 该项目不再突出显示

我的问题是,是否可以让对象在第 4 步保持突出显示?我目前正在为我的列表项使用可绘制的状态列表。我试过了

android:state_focused="true"

android:state_selected="true"

android:state_check="true"

提前致谢:)

编辑

已解决。我通过java代码实现了这一点。对于那些感兴趣的人,我做了以下事情:

声明了一个整型变量'previous',用于存储上一个索引,第一项从0开始,并通过setBackground()强制高亮它。

然后,在列表的 onItemClickListener 中,我简单地清除了上一个项目的突出显示,突出显示当前项目,并将“上一个”设置为当前所选项目的索引。

不知道我之前怎么没想到这一点 xD 我通常很擅长解决问题。

我想在某些时候我们所有人都会发生 :P

最佳答案

虽然您的方法可行,但我希望避免出现额外的代码 fragment 。实现的步骤如下:

将 ListView 的选择模式设为singleChoiceMode。

制作这个选择器

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

将其设置为列表项的背景。

它应该可以工作。

关于java - Android ListView 持久化背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13472185/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com