Начать деятельность с другого, не загружая первый макет - PullRequest
0 голосов
/ 04 октября 2018

Моя активность запуска может начаться с другого при определенном условии, это выглядит примерно так:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    prefManager = new PreferenceManager();
    if (prefManager.startMain(this)) {
        startActivity(new Intent(this, MainActivity.class));
        finish();
        return;
    }

    setContentView(R.layout.activity_wizard);
...
...

PreferenceManager - всего лишь помощник для быстрого доступа к SharedPreferneces.

Если условие истинно, отображается мигание первого макета активности, и только после этого начинается второе действие.

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

Я думал о создании третьего, прозрачного макета, который запускает правильное действие, но я надеюсь, что есть лучший способ.

1 Ответ

0 голосов
/ 04 октября 2018

Поменяйте местами startActivity () и finish (), чтобы метод final () был вызван первым, он не был в состоянии проверить, но может иметь значение

if (prefManager.startMain(this)) {
        finish()
        startActivity(new Intent(this, MainActivity.class));
    }

Не должно быть необходимости вызывать return

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...