android点击按钮更新listview?
界面是这样的,我的listview是下面的ListViewlistsource=(ListView)findViewById(R.id.listsource);lists...
界面是这样的,我的listview是下面的
ListView listsource = (ListView) findViewById(R.id.listsource);
listsource.setAdapter(new ArrayAdapter<String>(this, R.layout.item,sour));
我想实现点击按钮刷新ListView ,那按钮响应函数里 该怎么写? 展开
ListView listsource = (ListView) findViewById(R.id.listsource);
listsource.setAdapter(new ArrayAdapter<String>(this, R.layout.item,sour));
我想实现点击按钮刷新ListView ,那按钮响应函数里 该怎么写? 展开
2个回答
展开全部
用个变量保存你的adapter
按钮监听器里写adapter.notifyDataSetChanged();
按钮监听器里写adapter.notifyDataSetChanged();
追问
listsource.setAdapter中的参数是个ListAdapter类型的?
追答
你参数里new的不是ArrayAdapter嘛 ArrayAdapter继承于BaseAdapter,BaseAdapter实现了ListAdapter
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两个思路:
1、使用adapter调用notifyDataSetChanged();这个方法的目的就是通知系统,这个adapter绑定的数据发生改变,所有使用这个adapter的listview重新运行adapter中的getView()方法。
所以你的上边的代码要先留出引用如:
ListView listsource = (ListView) findViewById(R.id.listsource);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, R.layout.item,sour);
listsource.setAdapter(adapter);
然后在button点击事件里面调用adapter.notifyDataSetChanged();需要注意的是,如果你这个adapter所使用的数据引用(比如sour被重新new了)改变了,那么adapter.notifyDataSetChanged()调用后可能还是使用之前的那个数据引用地址,如果如此就不会有刷新效果。
2、直接给listveiw设置一个新的adapter,在button点击事件之中再运行一次listsource.setAdapter(new ArrayAdapter<String>(this, R.layout.item,sour));注意这个构造方法里面使用的是新的数据引用(sour是新new的)。
1、使用adapter调用notifyDataSetChanged();这个方法的目的就是通知系统,这个adapter绑定的数据发生改变,所有使用这个adapter的listview重新运行adapter中的getView()方法。
所以你的上边的代码要先留出引用如:
ListView listsource = (ListView) findViewById(R.id.listsource);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, R.layout.item,sour);
listsource.setAdapter(adapter);
然后在button点击事件里面调用adapter.notifyDataSetChanged();需要注意的是,如果你这个adapter所使用的数据引用(比如sour被重新new了)改变了,那么adapter.notifyDataSetChanged()调用后可能还是使用之前的那个数据引用地址,如果如此就不会有刷新效果。
2、直接给listveiw设置一个新的adapter,在button点击事件之中再运行一次listsource.setAdapter(new ArrayAdapter<String>(this, R.layout.item,sour));注意这个构造方法里面使用的是新的数据引用(sour是新new的)。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询