从标题按钮更新列表视图项目

时间:2013-01-14 22:31:48

标签: android android-listview

我有要求从位于视图标题部分的按钮切换列表视图项目的图像。

所以我有一个使用自定义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项目的情况下更新列表视图项目?

1 个答案:

答案 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/