Android: приостановка активности до завершения другого - PullRequest
1 голос
/ 12 мая 2010

Когда мое приложение запускается, оно проверяет, сохранило ли оно учетные данные для входа. если это не так, он запускает другое действие, чтобы запросить у пользователя эти учетные данные. Моя проблема заключается в том, что при запуске действия приглашения первая операция продолжает выполняться и заканчивается нулевыми указателями, поскольку действие приглашения еще не вернуло необходимые данные

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    tv = new TextView(this);
    setContentView(tv);

    promptForLoginInfo(); //method creates intent and starts activity

    displayCredentials(); //prints data to screen
}

вывод гласит: «null», потому что программа выполняет «displayCredentials ()» до того, как возобновится действие приглашения на вход в систему.

Кто-нибудь знает, что делать?

Ответы [ 3 ]

5 голосов
/ 12 мая 2010

Ваш метод promptForLoginInfo () должен вызывать startActivityForResult . Ваш метод displayCredentials () должен вызываться не в методе onCreate (), а в методе onActivityResult .

1 голос
/ 12 мая 2010

In promptForLoginInfo (); вам нужно начать активность ForResult. тогда вам нужно переместить displayCredentials (); от onCreate до onActivityResult

0 голосов
/ 12 мая 2010

Вы пытались проверить сохраненные учетные данные перед вызовом displayCredentials ()? Если учетные данные не найдены, вы можете начать действие с помощью метода startActivityForResult () и вызвать displayCredentials () после завершения действия приглашения в onActivityResult ().

...