android - 如何在 View 寻呼机中自动更改图像,当它到达最后一张图像时,它应该自动进入第一张图像

标签 android android-viewpager

我现在正在实现 View 寻呼机,我想在特定的时间段内连续一张一张地自动更改图像,可能是 5 毫秒一次。

我还必须手动允许用户滑动图像(它工作正常)

但是图像不会自动改变,当它到达最后一张图像时它应该自动来到第一张图像

final Handler handler = new Handler();
        final Runnable Update = new Runnable() {
            public void run() {
                if (currentPage == strImages.length-1) {
                    currentPage = 0;
                }
                intro_images.setCurrentItem(currentPage++, true);
            }
        };

        timer = new Timer(); // This will create a new Thread
        timer .schedule(new TimerTask() { // task to be scheduled

            @Override
            public void run() {
                handler.post(Update);
            }
        }, 500, 3000);

我使用了上面的代码,但它不能正常工作

最佳答案

试试这样将 addOnPageChangeListener 添加到您的 viewPager

        viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            if (position == strImages.length-1) {
                currentPage = 0;
            }
            intro_images.setCurrentItem(currentPage++, true);
        }

        @Override
        public void onPageSelected(int position) {

        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    });

或者对于自动更改页面尝试创建这样的时间任务

Timer timer;
timer = new Timer();
timer.scheduleAtFixedRate(new RemindTask(), 0, 3000); // delay*/

 private class RemindTask extends TimerTask {
int current = viewPager.getCurrentItem();

@Override
public void run() {
    runOnUiThread(new Runnable() {
        public void run() {

           if (current < strImages.size()) {
                    viewPager.setCurrentItem(current);
                    current += 1;
                } else {

                    current = 0;
                    viewPager.setCurrentItem(current);

                }
        }
    });

}
}

关于android - 如何在 View 寻呼机中自动更改图像,当它到达最后一张图像时,它应该自动进入第一张图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45518197/

相关文章:

android - 将布局膨胀到 AlertDialog 时出错 (Android)

android - AppCompatActivity因嵌入式YouTube视频而崩溃

java - 在 ViewPager 中重新加载 fragment

android - ScrollView 中的 ViewPager

java - Android Jetpack 导航组件太慢。有什么问题?

android - 为什么 `PagerAdapter::notifyDataSetChanged` 没有更新 View ?

java - 将 "<"和 ">"替换为 "&lt;"和 "&gt;"

android - 在应用程序类内部创建单例会导致内存泄漏吗?

android - 抽屉导航中的可折叠列表项

android - ViewPager 动画淡入/淡出而不是幻灯片