我有要求从位于视图标题部分的按钮切换列表视图项目的图像。
所以我有一个使用自定义BaseAdapter的listview,适配器非常基本,它有一个ImageView和每个项目的TextView。
标题部分有2个按钮,每个按钮都有一个与之关联的包。例如。
按钮A将有PACKAGE {A=Product 1, C=Product 3, G=Product 7}
按钮B将有PACKAGE {B=Product 2, D=Product 4, G=Product 7}
Listview项目将包含以下项目和图像。
{A=Product 1, B=Product 2,
C=Product 3, D=Product 4,
E=Product 5, F=Product 6, G=Product 7}
模拟列表视图
image green - A Product 1
image green - B Product 2
image green - C Product 3
image green - D Product 4
image green - E Product 5
image green - F Product 6
image green - G Product 7
如果用户选择按钮“A”,列表视图项目的图像应从红色变为绿色 仅适用于按钮“A”包列表中的项目。所以对于这个例子,只有listview 项目A,C和G的图像项目将更改为绿色。
如何在不实际让用户点击listview项目的情况下更新列表视图项目?
答案 0 :(得分:0)
我想你已经为你的2个按钮实现了OnClickListener
。
现在,当点击其中一个按钮时,您可以保存在全局变量中单击的按钮类型。
之后,在Adapter
上调用notifyDataChanged()。
当调用notifyDataChanged()时,会调用getView(int position, View convertView, ViewGroup parent)
的{{1}}。
为ListView中的每个可见项调用getView方法。 现在,在getView方法中,您只需切换图像,无论是单击的按钮A还是单击的按钮B.
有关如何为Adapter
自定义Adapter
的示例,请查看此帖子:http://www.androidhive.info/2012/02/android-custom-listview-with-image-and-text/