Android ViewPager onPageSelected()过早发布

时间:2016-07-14 19:53:28

标签: android user-interface android-viewpager

我使用Android Tutorial Bubbles library添加信息气泡,引用我的UI中的视图。我的主UI包含三个使用ViewPager的标签。我希望第二个选项卡的教程仅在用户导航到该选项卡时才开始。我能够使用OnPageChangeListener捕获用户导航到选项卡的事件。

问题是onPageSelected()方法在视图处于正确位置之前触发,这意味着应该围绕感兴趣视图的突出显示区域显着移位。我可以使用Thread.sleep()在短时间内解决这个问题;是否有一种更清洁的方式处理这个?

这是我的代码:

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageSelected(int position) {
            if (position == 1) {
                sensorReadingFragment.showTutorial();
            }
        }
    });

1 个答案:

答案 0 :(得分:0)

好的,您可以将其延迟为

 pager.post(new Runnable() {
        @Override
        public void run() {
            pager.setCurrentItem(position_tab);
           // Perform your operations
        }
    });