我如何通过按下 ListView 的一行 (onListItemClick) 标记该行被选中(保持按下的颜色,默认情况下为黄色)?
我没有使用 HoneyComb,我正在使用 android-support-v4.jar 一个 Android 兼容 jar。
我想提供像 Gmail on HoneyComb (http://www.youtube.com/watch?v=5swwUeZ0-ww) 这样的方面,您知道选择了什么项目,因为它保持蓝色。
我想我想做的是一个叫做激活的新状态(在 HoneyComb 上),但是..我想用其他版本的兼容 jar 来做。
顺便说一句,我正在使用 SimpleCursorAdapter 来填充 ListFragment
谢谢。
最佳答案
我在列表的适配器类中实现了它。我在列表中有 2 种类型的行:1 种用于正常的未选择的行,另一种用于选定的行。当用户选择一个列表项时,您通知适配器将该项目设置为“选中”,并调用 .notifyDatasetChanged()。在适配器的 .getView() 中,您检查当前项目是否被选中,并为该行填充相应的布局。
它可能看起来更复杂,但确实有效。通过这种方式,您也可以随时向适配器询问所选元素,而无需在 Activity 中乱用实例变量来存储此信息。我认为这有点干净。
关于android - fragment 上的 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6442071/