我有以下代码,当我的活动暂停时,它会在我的ListVIEw中记录滚动Y位置.
protected voID onSaveInstanceState (Bundle outState) { super.onSaveInstanceState(outState); int scroll = mListVIEw.getScrollY(); System.out.println (" scrollY" + scroll);}
但无论我在哪里垂直滚动ListVIEw,getScrollY()的值总是返回0.任何人都可以帮助我吗?
谢谢.
解决方法:
ListVIEw.getScrollY()返回0,因为您不是滚动ListVIEw本身而是滚动其中的视图.在您滚动的任何“视图”上调用“getScrollY()”将返回实际值(仅在某种程度上,因为它们被回收).
为了保存您的位置,请尝试以下 *** 作:
@OverrIDeprotected voID onSaveInstanceState (Bundle outState) { super.onSaveInstanceState(outState); int scrollPos = mListVIEw.getSelectedItemposition(); outState.putInt("Myposition", scrollPos);} @OverrIDepublic voID onRestoreInstanceState(Bundle inState) { super.onRestoreInstanceState(inState); int scrollPos = inState.getInt("Myposition"); mListVIEw.setSelection(scrollPos);}
祝好运!
总结以上是内存溢出为你收集整理的android – 需要帮助使用ListView的getScrollY()全部内容,希望文章能够帮你解决android – 需要帮助使用ListView的getScrollY()所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)