如何在 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