#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