ViewPager以编程方式滚动

Ger*_*ore 12 android android-viewpager

我有一个简单的ViewPager.是否有任何可能性以常规动画每五秒以编程方式滚动它?

Jon*_*lis 29

看看ViewPager.setCurrentItem(int)并将其与a TimerTask或a组合Handler.

例:

final ViewPager viewPager = ...;
final Handler h = new Handler(Looper.getMainLooper());
final Runnable r = new Runnable() { 
    public void run() {
        viewPager.setCurrentItem(0, true);
        h.postDelayed(r, 5000); 
    }
};
h.postDelayed(r, 5000); 
Run Code Online (Sandbox Code Playgroud)

务必在适当的时候取消runnable.

  • 你必须改变h.postDelayed(r,5000); 到h.postDelayed(这,5000); (4认同)
  • 谢谢!我没想到,这太容易了.只有一个更正:你应该调用ViewPager.setCurrentItem(int,boolean) (3认同)
  • 在方法“ run()”中的“ h.postDelayed(r,5000);”行中无法访问“ r”。您可以将其更改为“ h.postDelayed(this,5000);”,因为它是您的可运行对象(您要访问的方法)中的方法。 (2认同)