”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何在 Android 中选择后保持 ListView 项目突出显示?

如何在 Android 中选择后保持 ListView 项目突出显示?

发布于2024-12-23
浏览:681

How to Keep ListView Items Highlighted After Selection in Android?

如何在 Android 中选择后保持 ListView 项目突出显示

在 Android 中,维护 ListView 项目的选定状态可以通过提供以下功能来增强用户体验:当前选择的清晰视觉指示器。然而,有时开发人员会遇到这样的问题:所选项目在某些事件(例如滚动或与 ListView 进一步交互)后失去突出显示效果。

挑战

最近一位开发人员在 XML 布局中使用两个 ListView 时遇到了这个问题。一个 ListView 显示客户端列表,另一个显示有关所选客户端的详细信息。当在第一个 ListView 中选择客户端时,开发人员希望保留其突出显示状态,同时使用相应的详细信息更新第二个 ListView。然而,突出显示没有被保留。

解决方案

要解决这个问题,有几种方法:

1。使用XML属性:

在XML布局中,将以下属性应用于需要保留所选项目突出显示的ListView:

android:choiceMode="singleChoice"
android:listSelector="@drawable/list_selector"

将@drawable/list_selector替换为指定所需突出显示颜色的自定义选择器drawable。

2.编程方法:

或者,使用以下代码以编程方式设置 ListView 的选择模式和突出显示颜色:

listView.setChoiceMode(AbsListView.CHOICE_MODE_SINGLE);
listView.setSelector(getResources().getDrawable(R.drawable.list_selector));

3.避免视图操作:

需要注意的是,由于 ListView 中视图的临时性质,直接通过事件侦听器操作视图可能不可靠。滚动或发生其他事件后,对视图背景所做的更改可能不会持续。

最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3