【发布时间】:2011-05-18 12:41:25
【问题描述】:
我想使用 getLastVisiblePosition() ,显然在调用此方法 (notifyDataSetChanged) 后它没有给我正确的数字。我觉得这个方法只是通知view有变化,但是变化是后面触发的。
当视图更新时,是否有一个事件可以使用并触发我的方法,使用 getLastVisiblePosition?
请帮助或告诉我我做错了什么;)
谢谢 达尼尔
【问题讨论】:
我想使用 getLastVisiblePosition() ,显然在调用此方法 (notifyDataSetChanged) 后它没有给我正确的数字。我觉得这个方法只是通知view有变化,但是变化是后面触发的。
当视图更新时,是否有一个事件可以使用并触发我的方法,使用 getLastVisiblePosition?
请帮助或告诉我我做错了什么;)
谢谢 达尼尔
【问题讨论】:
是的,如果你运行notifyDatasetChanged(),你需要在post中排队操作,因为视图是异步渲染的:
listView.post(new Runnable() {
public void run(){
lastPos = listView.getLastVisiblePosition();
}
});
【讨论】: