1

我有一个使用图像适配器作为元素的gridview,它的实现方式如下:http: //developer.android.com/resources/tutorials/views/hello-gridview.html

此外,我在 getView 方法中为每个项目添加了一个单击侦听器,该方法使用处理程序将单击的位置发送到主类(ImageAdapter 之外)。

现在我只想更新相关的imageView,但是:

  • 我不知道如何在 ImageAdapter 类之外获取 imageView(与处理程序一起发送?它不可序列化 - 在 ImageAdapter 和 getter 中创建缓冲区?)

  • 我不确定使用哪种方法来更改图像。

目前我每次都在更新整个网格:

((ImageAdapter)gridview.getAdapter()).setImages(imageIds);
gridview.invalidate();

图像适配器:

public void setImages(int[] images) {
mImages = images;
notifyDataSetChanged();
}

提前致谢

4

1 回答 1

0

您目前正在做的事情有些正确。

作为一种优化,您可以使用ArrayList<int>. 作为图像并在适配器类中创建一个方法来使用 . 修改给定索引的值ArrayList.set(int index, E element)。然后调用notifyDataSetChanged()方法应该“理论上”只更新更改的图像视图:)

于 2013-06-23T03:34:34.773 回答