我一直在使用带有以下代码的仿真器来按下特定的按钮

redBut.performClick();
            redBut.setPressed(true);
            redBut.invalidate();
            redBut.setPressed(false);
            redBut.invalidate();


通过使用Log语句,我可以肯定地知道了这段代码,因此并不是跳过了这段代码。

在我的仿真器上,该按钮似乎被按下,就像用户按下它一样。现在在真正的android设备上,该进程正在运行,但按钮未更改。问题是什么?

最佳答案

编写代码如下-

        redBut.performClick();
        redBut.setPressed(true);
        redBut.invalidate();
        new Handler().postDelayed(new Runnable() {
        @Override
            public void run() {

               redBut.setPressed(false);
               redBut.invalidate();
             }
        }, 500);

10-07 12:43