Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何创建指向视图寻呼机的循环,而不回溯以前的元素_Android_Android Viewpager_Infinite Scroll_Viewpagerindicator_Circular List - Fatal编程技术网

Android 如何创建指向视图寻呼机的循环,而不回溯以前的元素

Android 如何创建指向视图寻呼机的循环,而不回溯以前的元素,android,android-viewpager,infinite-scroll,viewpagerindicator,circular-list,Android,Android Viewpager,Infinite Scroll,Viewpagerindicator,Circular List,我需要从字符串资源数组中设计一个ViewPager,并显示循环页面指示器。现在我想在用户从最后一个项目向左滑动时设置第一个项目,并在从第一个项目向右滑动时设置最后一个项目。在经历了许多解决方案后,它会在从最后一项向左滑动的同时回溯整个路径。没有回溯的任何方法。我想平稳地设置为第一项,而不必再次遍历整个路径 下面是我使用的代码 viewPager = (ViewPager) view.findViewById(R.id.view_pager); mAdapter = new Pro

我需要从字符串资源数组中设计一个ViewPager,并显示循环页面指示器。现在我想在用户从最后一个项目向左滑动时设置第一个项目,并在从第一个项目向右滑动时设置最后一个项目。在经历了许多解决方案后,它会在从最后一项向左滑动的同时回溯整个路径。没有回溯的任何方法。我想平稳地设置为第一项,而不必再次遍历整个路径

下面是我使用的代码

    viewPager = (ViewPager) view.findViewById(R.id.view_pager);
    mAdapter = new PromoPagerAdapter(getActivity());
    viewPager.setAdapter(mAdapter);
    viewPager.addOnPageChangeListener(this);
    CirclePageIndicator circlePageIndicator = (CirclePageIndicator)      view.findViewById(R.id.page_indicator);
    circlePageIndicator.setViewPager(viewPager);



@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

}

@Override
public void onPageSelected(int position) {

    mCurrentPosition = position;
}

@Override
public void onPageScrollStateChanged(int state) {

    int currentPage = viewPager.getCurrentItem();
    if (currentPage == mAdapter.getCount()-1 || currentPage == 0) {
        previousState = mCurrentPosition;
        mCurrentPosition = state;
        if (previousState == 1 && mCurrentPosition == 0) {
            viewPager.setCurrentItem(currentPage == 0 ? mAdapter.getCount()-1 : 0);
        }
    }
}

此库执行您想要的操作:

由于Stackoverflow是一个编程网站,我们在代码中工作。请张贴相关的代码,你已经尝试了迄今为止,因为我们无法为你做到这一点。请参考如何创建一个最小、完整且可验证的示例。