Перезапуск Activity при нажатии на кнопку

152
23 октября 2017, 23:45

У меня есть Activity в котором вопросы с вариантами, когда заканчиваются вопросы то появляется AlertDialog в котором находится только одна кнопка.

Можно как то реализовать перезапуск Activity когда нажимаешь на кнопку?

Answer 1

В диалоге у вас есть конструктор. Там нужно ссылку на Activity сохранить:

public class CustomDialog extends Dialog {
   private Activity mActivity;
   [...]
   public CustomDialog(Activity activity) {      
     super(activity);
     // сохраняем ссылку на Activity
     mActivity = activity;
   }
   private void restartActivity() {
     if (Build.VERSION.SDK_INT >= 11) {
        // на новых версиях можно делать так
        mActivity.recreate();
     } else {
        // MyActivity - имя класса вашей Activity
        Intent intent = new Intent(mActivity, MyActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
        // на старых приходится завершать текущую Activity 
        mActivity.finish();
        // убираем ненужную анимацию
        mActivity.overridePendingTransition(0, 0);
        // и запускать по-новой
        mActivity.startActivity(intent);
        mActivity.overridePendingTransition(0, 0);
     }
   }
}

По нажатию на кнопку вызывайте restartActivity.

READ ALSO
java обработчик событий клавиатуры lwjgl

java обработчик событий клавиатуры lwjgl

слушатель в библиотеке lwjgl устроен так:

182
JavaFx не подключает FXML файл

JavaFx не подключает FXML файл

Почиму здесь ошибка NullpointerException, ошибка в строке Parent root1 = FXMLLoaderload(getClass()

182
Cross Domain Куки в Safari

Cross Domain Куки в Safari

Добрый деньПодскажите пожалуйста

153
OpenCV объединение двух проектов

OpenCV объединение двух проектов

Здравствуйте, форумчане! У меня возникла идея - объединить два проекта из примеров книги "OpenCV 30 Computer Vision with Java"

169