Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从标题按钮的列表更新listview项_Android_Android Listview - Fatal编程技术网

Android 从标题按钮的列表更新listview项

Android 从标题按钮的列表更新listview项,android,android-listview,Android,Android Listview,我有一个要求,从位于视图标题部分的按钮切换listview项目的图像 因此,我有一个使用自定义BaseAdapter的listview,该适配器非常基本,每个项目有一个ImageView和一个TextView 标题部分将有2个按钮,每个按钮将有一个与其关联的包。比如说 按钮A将有包{A=Product 1,C=Product 3,G=Product 7} 按钮B将有包{B=Product 2,D=Product 4,G=Product 7} Listview项目将包含以下项目以及图像 模拟列表视

我有一个要求,从位于视图标题部分的按钮切换listview项目的图像

因此,我有一个使用自定义BaseAdapter的listview,该适配器非常基本,每个项目有一个ImageView和一个TextView

标题部分将有2个按钮,每个按钮将有一个与其关联的包。比如说

按钮A将有包{A=Product 1,C=Product 3,G=Product 7} 按钮B将有包{B=Product 2,D=Product 4,G=Product 7}

Listview项目将包含以下项目以及图像

模拟列表视图

如果用户选择按钮A,listview项目的图像将从红色变为绿色 仅适用于包列表中的项目。因此,对于这个示例,只有listview 项目A、C和G的图像项目将更改为绿色


如何更新listview项而不让用户实际单击listview项?

我想您已经为2个按钮实现了OnClickListener

现在,当单击其中一个按钮时,将保存在全局变量中单击的按钮类型

在该调用之后,适配器上的notifyDataChanged发生了更改

当调用notifyDataChanged时,将调用适配器的getViewint位置、View convertView、ViewGroup父级

将为ListView中的每个可见项调用getView方法。 现在在getView方法中,您只需切换图像,无论是单击按钮A还是单击按钮B


有关如何为ListView定制适配器的示例,请看这篇文章:

谢谢@Darwind,我今天将尝试一下,并让您知道它是如何工作的。我刚刚开始测试这些更改,谢谢它们的工作。
{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