清空listview中的所有item

http://blog.csdn.net/amohan/article/details/17372651
这个中我不知道他为什么要那么复杂,

    int size=listmap.size();//获取数据集的个数
        if(size>0){
            System.out.println(size);
            listmap.removeAll(listmap);//清空数据集
            adapter.notifyDataSetChanged();//通知下观察者我更改了数据
            listView.setAdapter(adapter);//重新设置adapter
        }

我觉得上面很麻烦,首先需要数据集和adapter这两个局部变量 存在。但是这个一般情况下是没有的。

我的方法,既然清除,那么我只要给一个没有数据元素的adapter不就可以了吗。

//我只需要listview引用就可以办到这个事情。而且简单。
public void clear(View view) {
        ArrayAdapter adapter = (ArrayAdapter) listView.getAdapter();// 获取当前listview的adapter
        int count = adapter.getCount();// listview多少个组件
        if (count > 0) {
            //Toast.makeText(this, "Size" + count, Toast.LENGTH_LONG).show();

            listView.setAdapter(new ArrayAdapter(this,
                    android.R.layout.simple_list_item_1));
        }

    }

你可能感兴趣的:(Android初体验)