用个变量保存你的adapter
按钮监听器里写adapter.notifyDataSetChanged();
两个思路:
1、使用adapter调用notifyDataSetChanged();这个方法的目的就是通知系统,这个adapter绑定的数据发生改变,所有使用这个adapter的listview重新运行adapter中的getView()方法。
所以你的上边的代码要先留出引用如:
ListView listsource = (ListView) findViewById(R.id.listsource);
ArrayAdapter
listsource.setAdapter(adapter);
然后在button点击事件里面调用adapter.notifyDataSetChanged();需要注意的是,如果你这个adapter所使用的数据引用(比如sour被重新new了)改变了,那么adapter.notifyDataSetChanged()调用后可能还是使用之前的那个数据引用地址,如果如此就不会有刷新效果。
2、直接给listveiw设置一个新的adapter,在button点击事件之中再运行一次listsource.setAdapter(new ArrayAdapter