【发布时间】:2016-06-09 00:22:20
【问题描述】:
我有一个 ListView,其选择模式设置为单选。我希望选中的项目(如果有)被突出显示(即,背景颜色与其余项目不同)。
我一直依靠设置列表选择器来实现这一点。但是,我发现,当我的 ListView 位于选项卡上(即包含在 TabHost 中)时,如果我切换到不同的选项卡并再次返回到包含 ListView 的选项卡,则所选项目不再在 UI 中突出显示, 即使 ListView 上的getCheckedItemPosition() 仍然返回与以前相同的值。
这让我觉得我误解了列表选择器的用途。
另一方面,我发现如果我将用于列表项的布局资源更改为背景颜色根据是否设置 android:state_activated 标志而变化的布局资源,我可以实现我想要的突出显示行为,并且选择突出显示在选项卡切换中保留。
所以我想我的问题是,如果不指示所选项目,列表选择器的目的是什么?不是为了“持久”突出显示吗?
【问题讨论】: