数据库更新使用CursorAdapter更新界面,需要每秒刷新界面……刷新的时候不管此时在列表哪个位置,刷新之后都会拉到最下面……用了notifyDatasetChanged,cursorAdapter.requery和重新绑定cursor都是一样的效果,就是刷新时候会拉到最下面……有人遇到过这个问题吗, |
|
5分 |
上面有很大的空白? 刷新完毕后应该用scrollTo 到最顶部
|
5分 |
还没有用过cursoradapter, 可以看下它的接口,还有你的显示用的什么视图?listview,可以设置选中的位置,选0就可以了
|
scrollTo是什么意思? 现在我想删除一条消息,正常来说列表应该还是停留在当前位置(比如说中间)才对..但是数据更新之后列表会滚动到最底,这样用户体验很不好,有没什么办法能更新数据之后依然停留在当前呢?微信就做的很好 |
|
对,就是listview,继承了cursoradapter来获取数据库数据渲染列表 你说的设置选中位置怎么实现呢?可以给个思路不? 我想要实现数据库更新时候更新列表(界面),就是不知道用什么方法通知界面更新比较好,notifydatesetchangged 和cursor.requery试过了都是数据库更新就拉到最低… |
|
刷新完回到顶部,有个方法setSelection?设置默认第一行
|
|
我去测试了一哈。。在你适配器更新之后,。对LISTview设置setselection属性。最好异步或者丢线程里面。刷新了之后UI会改变。如果显示最上面 就设置0,最下面直接设置成返回的数据长度
|
|
我解决了抖动的那个问题了,是listview中多了一行属性android:stackFromBottom=”true”,所以界面更新的时候会被拉到最下面,去掉就会留在原来位置了…. |
|
就是用handler实现每秒刷新一次,每刷新一次界面就闪烁一次…… |
|
你丢代码上来按。闪烁可能是又重新加载了一次适配器。 |
|
30分 |
可能是你数据过大,有图片啊 什么的。每次调用notiy那个方法的时候,都会加载一次。然后就会出现闪烁,额。这个问题 |
下面是每秒刷新通知一次界面刷新的代码….刷新的时候就闪烁了,只有聊天记录的文本不闪,只有旁边的头像图片闪烁了… |
|
还是会闪 后面再研究一下 怕后面忘了先给分先吧,你回答的最多就给你最多分吧 |