Android:使用 notifyDataSetChanged 和 getLastVisiblePosition - 当 listView 实际更新时?

标签 android listview adapter

我想使用 getLastVisiblePosition(),显然在调用此方法 (notifyDataSetChanged) 后它没有给我正确的数字。我觉得这个方法只是通知 View 有变化,但是变化是在后面触发的。

当 View 更新时,是否有事件可以使用并触发我的方法,使用 getLastVisiblePosition?

请帮助或告诉我我做错了什么;)

谢谢 丹尼尔

最佳答案

是的,如果您运行notifyDatasetChanged(),您需要在post 中对操作进行排队,因为 View 是异步呈现的:

     listView.post(new Runnable() { 
       public void run(){ 
         lastPos = listView.getLastVisiblePosition();
       } 
     });

关于Android:使用 notifyDataSetChanged 和 getLastVisiblePosition - 当 listView 实际更新时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6044796/

相关文章:

java - 如何从 hashmap 中获取一列值

android - 带有 Mono Android 的 ListView - 设置复选框

Android动态设置textview布局宽度

java - "complete action using"不该弹出的对话框

java - Android 开发 - 我应该使用基于 XML 的布局,还是只使用 java 代码?

java - 如何修复未使用微调器自定义适配器中的代码选中复选框的问题?

android - 我的自定义 ListView 适配器上出现致命异常

android - 如何将 ListView 适配器中的项目绑定(bind)到服务?

java - 改造 URL 中的端点

java - 对资源名称的限制或如何进行通用国际化