0

我正在尝试将按钮的背景更改为“按下”1 秒钟,然后将该背景更改回“默认”。我创建了一个名为 sleeper 的线程,它只休眠 1 秒。下面是我正在使用的方法。奇怪的是,按钮背景在睡眠线程完成睡眠之前不会改变。我知道线程永远不会在任何给定时间启动,但是由于我在启动线程之前设置了按钮的背景,所以我认为这应该可以工作。

private void handleButtonPress(View button, int buttonPressedID,
        int buttonNormalID) {

    button.setBackgroundResource(buttonPressedID);
    Sleeper sleeper = new Sleeper();
    sleeper.start();
    try {
        sleeper.join();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

}

感谢您的关注!

4

1 回答 1

2

请简单地使用处理程序:

Handler h = new Handler();

h.postDelayed(new Runnable() {

    @Override
    public void run() {
        // do your delayed stuff here
    }
}, 1000); // execute the code inside run() after 1000ms
于 2013-08-12T16:49:23.777 回答