线程睡眠,不做

0 java multithreading android sleep

我在Java中遇到Thread问题.我想点击按钮(bt1)将背景设置为图片,然后等待5秒并将相同按钮的背景设置为图片.问题是从未设置过第一张图片.程序只需等待5秒钟并设置picture2.这是代码.

bt1.setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View v) {
          bt1.setBackgroundResource(R.drawable.picture);
              try
                 {
                   Thread.sleep(5000);
              }
              catch( InterruptedException e )
              {
                  e.printStackTrace();
              }
          bt1.setBackgroundResource(R.drawable.pic);
        }
    });

}
Run Code Online (Sandbox Code Playgroud)

Bat*_*eba 9

从来没有睡过用户界面线程!

  • 关注OP提供更多信息? (4认同)

Pat*_*han 8

问题是你正处于处理对GUI事件做出反应的线程中.当该线程休眠时,GUI已经死了.您需要做其他事情以获得五秒钟的延迟,例如使用Timer在5秒内创建一个新事件.