android点击按钮更新listview?

2025-02-03 04:01:50
推荐回答(2个)
回答1:

用个变量保存你的adapter

按钮监听器里写adapter.notifyDataSetChanged();

回答2:

两个思路:
1、使用adapter调用notifyDataSetChanged();这个方法的目的就是通知系统,这个adapter绑定的数据发生改变,所有使用这个adapter的listview重新运行adapter中的getView()方法。

所以你的上边的代码要先留出引用如:
ListView listsource = (ListView) findViewById(R.id.listsource);
ArrayAdapter adapter=new ArrayAdapter(this, R.layout.item,sour);
listsource.setAdapter(adapter);
然后在button点击事件里面调用adapter.notifyDataSetChanged();需要注意的是,如果你这个adapter所使用的数据引用(比如sour被重新new了)改变了,那么adapter.notifyDataSetChanged()调用后可能还是使用之前的那个数据引用地址,如果如此就不会有刷新效果。
2、直接给listveiw设置一个新的adapter,在button点击事件之中再运行一次listsource.setAdapter(new ArrayAdapter(this, R.layout.item,sour));注意这个构造方法里面使用的是新的数据引用(sour是新new的)。