Oto moja metoda, działa dobrze i pokazuje okno dialogowe.Testowanie Androida: okno dialogowe. Sprawdź, czy to jest Show()
public void showDialog(){
final Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.mylayout);
dialog.show();
}
Mam projekt testowy i chciałbym przetestować, że okno dialogowe jest wyświetlane. Chciałbym zastosować metodę .isShowing(). Coś takiego ...
assertTrue(dialog.isShowing());
Ale nie wiem, jak dostać się do zmiennej dialogowej w moim teście.
Nie używam Robotium (nie jest to opcja dla mnie). Aktualnie używam ActivityUnitTestCase do przetestowania. Jeśli potrzebujesz więcej informacji, nie wahaj się zapytać.
EDIT
próbowałem użyć odpowiedź poniżej dokonując Dialog publiczny
public Dialog getDiag(){
return dialog;
}
Stosując tę odpowiedź: Mam nowy problem, gdy uruchamiam ShowDialog() w teście, łamie się, gdy trafi: dialog.show();
android.view.WindowManager $ BadTokenException: * Nie można dodać okno - token zerowej
Dziękuję ja zmieniłem metodę zwrotu Dialog, mogę to przynajmniej otworzyć okno dialogowe w moim teście. Ale nie mogę nazwać Dialog.show(), dlatego wziąłem to z mojej metody i wezwę program() po zwróceniu okna dialogowego (w działaniu). –