Возникли проблемы с переопределением перехода по умолчанию

#android

#Android

Вопрос:

По какой-то причине я не могу заставить overridePendingTransition() работать. Я перепробовал все порядки вызовов методов, но все равно получаю переход по умолчанию. Я пропустил что-то простое?

 // in onCreate()
Timer timer = new Timer();
    timer.schedule(new TimerTask() {
        @Override
        public void run() { loadNextActivity(); }
}, DURATION);


public void loadNextActivity() {
    startActivity( new Intent(this, MainMenuActivity.class));
    overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
    finish();
}
  

Комментарии:

1. Я только что заставил его работать, используя … startActivityForResult(newIntent, 1); Переопределение перехода (android.R.anim.fade_in, android.R.anim.fade_out); Обратите внимание, что я не вызывал finish() … Вы работаете в потоке пользовательского интерфейса? Я использую API уровня 9

2. Я думаю, что это может быть проблема с потоками. Я обновил код, чтобы показать, где вызывается метод loadNextActivity(). Разве это не входит в основной поток пользовательского интерфейса?

Ответ №1:

нет основного / второстепенного потока пользовательского интерфейса. Для пользовательского интерфейса существует только один поток.

При запуске в потоке пользовательского интерфейса он должен работать, независимо от того, вызывается finish() или нет, для startActivity, а также startActivityForResult