Я испытываю забавное поведение обезьяны.Когда приложение показывает 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, которая воспроизводится при высокой загрузке событий?
-Lev