2010-05-12 3 views
1

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

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 
} 

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

У кого есть ключ, что делать?

ответ

5

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

+0

спасибо. теперь, когда эта проблема решена, перейдем к следующему – mtmurdock

0

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

1

В promptForLoginInfo(); вам нужно запустить activityForResult. , тогда вам нужно переместить displayCredentials(); от onCreate to onActivityResult

Смежные вопросы