使用UI更新运行多个performClick()

时间:2013-11-19 10:42:00

标签: android android-ui

button.performClick();

出于软件演示的目的,我想在每个按钮performClick()之后显示用户界面更新。例如,如果活动是计算器,我现在可以使用

模拟按下按钮[1],[2]和[3]
btn1.performClick();
btn2.performClick();
btn3.performClick();

然而,对EditText的这些更新太快而没有可见的暂停,即它显示为“123”同时写入屏幕。我想要的是: -

btn1.performClick()更新了用户界面,以便人们可以在下一个按钮之前只看到按钮按下更新到EditText。与btn2.performClick()然后btn3.performClick()类似。

3 个答案:

答案 0 :(得分:1)

您可能希望使用像Robotium这样的库,并使用Solo.waitForText方法来执行您想要的操作。

问题在于我们无法提前确定显示文本所需的时间,因为它取决于onClick方法的内容。

这就是为什么Robotium可能对你想要的东西有用。

答案 1 :(得分:0)

使用btn2.performClick()btn3.performClick()的处理程序,如...

final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
    @Override
    public void run() {
        // do something after 100ms
        btn2.performClick();
    }
}, 100);

答案 2 :(得分:0)

您可以使用

Thread.sleep(delay);

或使用

handler.postDelayed(Runnable,delay);