android的BaseAdapter使用了Adapter模式,然后自动更新使用了Observer模式。但是实际使用过程中经常会遇到不能自动刷新的情况。
我的解决办法有,但不是很好,没有能解决自动刷新的问题,只能手动刷新,但是还是希望能够帮到你。
当更新数据以后,重新构造adapter,然后必须给list重新设置适配器setAdapter,这就是所谓的手动刷新。。。
这样以后list会刷新,但是会跳到第一行去。。。体验特别差,功能倒是能实现。。
希望能够帮到你。
android listview是不能自动更新,必须手动通知listview更新,使用如下语句实现当绑定的数据源发生了变化,通知更新作用:
Adapter.notifyDataSetChanged(); //adapter代表listview绑定的适配器
这个你将数据保存在什么地方啊,怎么保存的,你不把这些说清楚我们也就不知道为什么会出现这个问题,只知道你肯定改数据后数据位置保存的不对,可以用eclipse跟一下看看,再要不就把程序贴出来跟你检查检查!
用startActivityForResult跳转至编辑界面,在onActivityResult里面刷新adapter里面的数据。空指针没代码,谁知道是什么问题。