有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java当我更改ImageButton图像时,不会实时更改

我将此代码用于更改ImageButton图像,但它不会实时更改

它只改变一次,而不是改变一次

for(int i = 1 ; i <= left_num ; i++ ){
    int resourceId = this.getResources().getIdentifier("c"+i+"_r"+right_num, "id", this.getPackageName());
    ImageButton imageButton = (ImageButton) findViewById(resourceId);
    imageButton.setBackgroundResource(R.drawable.white_circle);
    sleep(500);
}

共 (1) 个答案

  1. # 1 楼答案

    它可能会“实时”更改,但您无法看到它,因为代码行sleep(500)被忽略,并且不执行您希望它执行的操作

    编辑:

    通过调用以下方法,可以设置计时器以按顺序更新ImageButtons:

    private void updateImageButtonsSequentially() {
        int iteration = 0;
        Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                  int resourceId = this.getResources().getIdentifier("c"+iteration+"_r"+right_num, "id", this.getPackageName());
                  iteration++;
                  ImageButton imageButton = (ImageButton) findViewById(resourceId);
                  imageButton.setBackgroundResource(R.drawable.white_circle);
            }
        },0,500);
    }