我正在经历猴子的搞笑行为。当应用程序显示带有两个按钮的AlertDialog时,我的onClick处理程序有时会调用两次。当我手动按下按钮时,只有在使用猴子时才会发生这种情况。
这是我的活动代码:
@Override
public void onResume() {
super.onResume();
Log.d(TAG, "onResume");
AlertDialog.Builder builder = new AlertDialog.Builder(this)
.setPositiveButton("yes", this)
.setNegativeButton("no", this);
AlertDialog alert = builder.create();
alert.show();
}
@Override
public void onClick(DialogInterface pDialog, int pWhich) {
Log.d(TAG, "onClick " + pWhich);
pDialog.dismiss();
}
这就是我称之为猴子的方式:
adb shell monkey -p com.mycompany.helloapp -v 500
这里是logcat输出(跳过不相关的行):
09-26 12:27:04.867 D/ClickTest(27989): onResume
09-26 12:27:07.557 D/ClickTest(27989): onClick -1
09-26 12:27:07.557 D/ClickTest(27989): onClick -1
我做错了什么或者这是Android UI事件处理程序中的某种错误,它会在高事件加载下重现?
-Lev