我在一个活动中有一个带有listview的android-app。如果我这样说的话,列表视图有三种数据状态。
在每次状态更改(1 - > 2,2 - > 3)时,我在此ListAdapater上调用notifyDataSetChanged()。 这会导致列表视图向下滚动到最后一项。这在第一次转换中是丑陋的,在第二次转换中更难看,因为点击的列表项目现在已经失焦。
正如我所看到的,这发生在谷歌g1与Android 1.6。使用相同的sdk进行htc触摸可以达到预期的效果(我会尝试使用更多设备来解决这个问题)。
为避免这种情况,我尝试读取getScrollY()并将此值设置回来。但是这会返回0.我在其他问题中已经在stackoverflow上找到此返回值的原因。
有没有人见过这个问题?列表视图为什么滚动到最后一项?有人提到listview会跟踪滚动位置。但似乎在我的情况下并不存在。
或许我正在调用错误的刷新方法? notifyDataSetChanged是正确的吗?
答案 0 :(得分:0)
我相信你想要:
listview.setTranscriptMode(ListView.TRANSCRIPT_MODE_DISABLED);