0

在我的 android 应用程序中,我有一个播放按钮。在我手动单击按钮后,一切正常。但是当我使用 uiautomator 触发按钮点击时,什么也没发生。调试后,我很确定是字符串比较步骤(标记为卡在此处)导致失败。非常困惑为什么它的行为不同。我确实看到按钮以两种方式被点击(按钮颜色改变)。如果我使用 button.getText().toString(),两者都有效。顺便说一句,button.getText() 返回 CharSequence,而不是 String 对象。

我在 res/values/strings.xml 中将我的字符串值定义为

<string name="play">Play</string>

的java代码:

private final static String PLAY = "Play";        

//some code in between    

Button playButton = new Button(this);
playButton.setText(R.string.play);
playButton.setTextSize(BUTTON_FONT_SIZE);
playButton.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
       Button b = (Button) v;
       if (b.getText().equals(PLAY)) {    //stuck here.                                    
             startPlay();
        } else {

            stopPlay();
        }
    }
});
4

1 回答 1

-1

您能否分享一下您是如何尝试使用 UiAutomator 单击按钮的。下面的代码应该可以工作 UiObject buttonToClick = new UiObject(new UiSelector ().text(Play).className("android.widget.Button")); buttonToClick.clickAndWaitForNewWindow();

于 2013-09-14T10:20:19.143 回答