android - 如何不停地更换背景图片?

标签 android

我写的代码可以每 3 秒更改一次背景,但不幸的是它只更改了 1 次,我尝试使用计数但它不起作用,哪里出错了?

public class MainActivity extends AppCompatActivity {
public static int count=0;
int images[] = new int[] {R.drawable.main, R.drawable.main2, R.drawable.main3, R.drawable.main4};
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

        new Handler().postDelayed(new Runnable() {
            public void run() {
                if (count < images.length) {

                    RelativeLayout background = (RelativeLayout) findViewById(R.id.activity_main);
                    Random rand = new Random();
                    int index = rand.nextInt(images.length);
                    background.setBackgroundResource(images[index]);
                    count++;
                }
                else{
                    count = 0;
                }
            }
        }, 3000);

}
};

最佳答案

只需在 run() 方法中调用 handler.postDelayed 再次启动它,然后修改您的代码如下:

public class MainActivity extends AppCompatActivity {
        int images[] = new int[] {R.drawable.main, R.drawable.main2, R.drawable.main3, R.drawable.main4};
        final Handler animHandler = new Handler();


        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            RelativeLayout background = (RelativeLayout) findViewById(R.id.activity_main);

            animHandler.post(new Runnable() {
                @Override
                public void run() {
                    Random rand = new Random();
                    int index = rand.nextInt(images.length);
                    background.setBackgroundResource(images[index]);
                    animHandler.postDelayed(this, 3000);
                }
            });
        }
    };
}

关于android - 如何不停地更换背景图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45521265/

相关文章:

java - Intent 抽屉导航 fragment

android - 如何在抽屉导航 android 上显示 facebook 个人资料图片?

android - Android Studio 3.3:Gradle Build Sync消息为错误失败:生成失败,出现异常

Android simplexml.jar混淆问题

android - Google Play 游戏服务 playerId 是静态的吗

android - 使用 View 翻转器在不同列表中显示相同图像

javascript - 设置相机宽度和高度 phonegap 相机

java - 如何在 roboguice 2.0 中注入(inject) LocationManager?

android - robotium - 单击操作栏选项卡

android - 当 startAngle > endAngle 在 android 中时,drawArc 无法正确绘制