如何通过按ListView (onListItemClick)标记选定的行(保持按下的颜色,默认为黄色)?
我使用的不是HoneyComb,我使用的是android-support-v4.jar,一个Android兼容性jar。
我想给出像HoneyComb上的Gmail ( http://www.youtube.com/watch?v=5swwUeZ0-ww )这样的方面,你知道选择了什么项目,因为它保持了蓝色。
我想我想要做的是一个新的状态,叫做激活(在HoneyComb上),但是..我想用其他版本的兼容性jar来做这件事。
顺便说一句,我正在使用SimpleCursorAdapter来填充ListFragment
谢谢。
发布于 2011-06-24 19:58:00
我在list的适配器类中实现了这一点。我在列表中有两种类型的行:一种是普通的、未选中的行,另一种是选中的行。当用户选择一个列表项时,通知适配器将该项设置为“selected”,并调用.notifyDatasetChanged()。在适配器的.getView()中,检查当前项是否被选中,并膨胀该行的相应布局。
它可能看起来更复杂,但它确实有效。这样,您就可以随时向适配器请求所选的元素,而无需在activity中修改实例变量来存储此信息。我觉得这样会更干净一些。
发布于 2011-06-24 19:49:13
使用以下代码
list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View view, int position, long id) {
view.setBackgroundColor(Color.WHITE);
}
});https://stackoverflow.com/questions/6442071
复制相似问题