Тест Android monkeyrunner дважды вызывает обработчик onClick - PullRequest
2 голосов
/ 26 сентября 2011

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

...