Android从网格中删除视图

时间:2011-06-27 15:45:48

标签: android

我正在测试以下Android开发者网站上找到的代码 http://developer.android.com/resources/tutorials/views/hello-gridview.html

任何人都可以告诉我如何删除项目onclick。 我已经尝试了removeInLayout,但是删除后的图像会继续显示。其他函数removeAt(position)等正在崩溃

有什么想法吗?

1 个答案:

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