在PagerAdapter类中的instantiateItem函数中的'position'混淆(android)

时间:2012-02-10 21:56:26

标签: android position android-viewpager

我目前正在浏览水平视图分页教程:http://mobile.tutsplus.com/tutorials/android/android-user-interface-design-horizontal-view-paging/

出于测试目的,我添加了以下行作为instantiateItem(...)函数的第一行:

Log.d("SimpleViewPagerActivity", "Position " + position);

(以下是令人困惑的,所以如果你自己试一试这个例子,看看我在下面的段落中谈论它会更好): 在此示例中,有5个ViewPager位置(从零开始),并且Activity设置为从位置2开始。当我启动Activity时,Log表示初始位置从1然后是2然后是3。我向左滑动,日志显示位置为0.当我再次向左滑动时,没有日志消息。从这里开始,我向右滑动,现在位置为2.我再次向右滑动,位置为3.我向右滑动到其他位置,我得到的结果是我无法解释的。

有人可以在instatiateItem()中解释'position'变量,还是指向某个解释它的地方?我目前使用Android兼容性软件包v.6

1 个答案:

答案 0 :(得分:9)

在instantiateItem内部,position参数是需要渲染的位置。它不是用户可以看到的当前焦点项目的位置。当前显示的视图左侧和右侧的页面需要预先渲染在内存中,以便这些屏幕的动画流畅。