我正在测试以下Android开发者网站上找到的代码 http://developer.android.com/resources/tutorials/views/hello-gridview.html
任何人都可以告诉我如何删除项目onclick。 我已经尝试了removeInLayout,但是删除后的图像会继续显示。其他函数removeAt(position)等正在崩溃
有什么想法吗?
答案 0 :(得分:3)
我不知道你修改了多少hello gridview示例,所以我将描述未修改示例的过程。
首先,您必须修改“数据存储”,以便轻松地从中删除项目,例如从mThumbIds
构造函数中的ImageAdapter
数组创建列表,将其存储为字段并记得修改getView()
和getCount()
方法以使用它。
接下来,只需从侦听器的onItemClick()
方法中的列表中删除一个项目,然后在notifyDataSetChanged()
实例上调用ImageAdapter
方法,您需要将其存储为最终变量< / p>
final ImageAdapter adapter = new ImageAdapter(this);
gridview.setAdapter(adapter);
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
adapter.mThumbIdsList.remove(position);
adapter.notifyDataSetChanged();
}
});
诀窍是网格视图根据绑定数据的内容(本例中的列表或数组)显示项目,因此要从您必须删除的网格中删除项目,并从绑定数据中删除项目。 / p>