【发布时间】:2010-02-27 19:39:36
【问题描述】:
我想制作一个使用 ListView.CHOICE_MODE_SINGLE 的列表视图,以便用户一次只能选择一件事。但是,我希望背景在选中时更改为焦点颜色,而不是选中复选框。我正在尝试做的一个很好的例子基本上是任何文件浏览器,其中背景会在您按顺序选择的每个项目上更改颜色。
有什么帮助吗?
【问题讨论】:
我想制作一个使用 ListView.CHOICE_MODE_SINGLE 的列表视图,以便用户一次只能选择一件事。但是,我希望背景在选中时更改为焦点颜色,而不是选中复选框。我正在尝试做的一个很好的例子基本上是任何文件浏览器,其中背景会在您按顺序选择的每个项目上更改颜色。
有什么帮助吗?
【问题讨论】:
您在这里要做的是定义一个实现ListAdapter 的类。 ListAdapter 有一个名为 getView 的方法,ListActivity 在绘制自身时将使用该方法。定义 getView 以便在选择项目时返回具有不同背景颜色的视图。
更新 要响应对项目的单击:在您的 listActivity 中,覆盖 onListItemClick。在该方法中,调用适配器上的方法以使用点击信息更新自身。然后你的适配器应该为它的每个观察者调用 onChanged 方法。如果你没有使用listActivity,那么你可以使用ListView的setOnItemClickListener方法来设置这个事件的回调。
【讨论】: