Мне было интересно, можно ли абстрагироваться от вызова startActivity? То, что я пытаюсь сделать, это абстрактный следующее:Можно ли аннулировать вызов startActivity?
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
startActivity(nextIntent);
}
}, 2000);
где я ранее установки намерения nextIntent с соответствующим классом и соответствующие дополнительные услуги. Идея состоит в том, что я буду откладывать намерение от запуска в течение 2 секунд. Вышеприведенный код работает отлично, если я вызываю его непосредственно из своей Activity. То, что я хотел бы сделать, это абстрактный код выше, так что я мог бы назвать его от любой деятельности, как это:
DelayActivity.StartDelayedActivity(2,nextIntent);
Это будет начать следующую активность nextIntent после секундной задержки 2. Однако, когда я пытаюсь кодировать это я получаю следующее сообщение об ошибке:
The method startActivity(Intent) is undefined for the type new Runnable(){}
Я смотрел на такие темы, как это: Is that possible to call for startActivity() from a static method?, но этот поток определяет намерение в методе. Я хотел бы быть в состоянии принять намерение, что я уже настроить и передать это. Является ли то, что я ищу, возможно сделать? Если да, то какие изменения мне нужно сделать? Огромное спасибо.
Большое спасибо за ответ. Я новичок в разработке Android и, безусловно, открыта для повторного дизайна, если он более оптимален. То, что я пытаюсь сделать, - это отложить начало активности на определенное количество времени. Итак, поток работает так. У меня есть действие на экране, пользователь предпринимает некоторые действия и нажимает кнопку, которая отправляет их на новый экран. Этот новый экран только на несколько секунд, после чего приложение автоматически запускает другое действие. Цель состоит в том, чтобы показать пользователю временный экран, но не требовать от них каких-либо действий, чтобы отойти от временного экрана. – NifflerX
Я бы указал, что в качестве всплывающего окна отображается диалоговое окно или «ViewPager», чтобы показать набор вещей последовательно http://developer.android.com/training/animation/screen-slide.html. Наличие кучи действий является признаком запаха кода. –
Привет, Спасибо за идею ViewPager. Мои проблемы связаны с тем, что он дает пользователю слишком большую свободу перемещения между экранами и кажется, что он создан для обработки одних и тех же объектов на каждом экране (в примере на каждом экране есть текстовое поле). В моем приложении на экране есть текстовые поля, а у другого есть кнопки, а у третьего есть изображения. Используя ViewPager, я могу ограничить возможности навигации, доступные пользователю, и иметь разные объекты на экране? Еще раз спасибо за вашу помощь. – NifflerX