Android: pausa un'attività fino a un altro finiture
-
26-09-2019 - |
Domanda
Quando i miei si avvia app, controlla per vedere se ha memorizzato le credenziali di accesso. se non lo fa, comincia un'altra attività per richiedere all'utente per tali credenziali. Il mio problema è che quando si avvia l'attività di sollecito, la prima attività continua l'esecuzione e finisce con i puntatori nulli perché l'attività prompt non ha ancora restituito i dati necessari
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
}
l'uscita si legge:. "Null", perché viene eseguito il programma "displayCredentials ()" prima di login rendimenti di attività tempestive
Qualcuno ha idea di cosa fare?
Soluzione
Il tuo "promptForLoginInfo ()" metodo dovrebbe essere chiamando startSubActivity . Il tuo "displayCredentials ()" il metodo non dovrebbero essere chiamati in onCreate () metodo, ma nel onActivityResult metodo.
Altri suggerimenti
In pronta per il login Info (); è necessario avviare activityForResult. quindi è necessario spostare le credenziali di visualizzazione (); da onCreate a onActivityResult
Hai provato a verificare la presenza di credenziali memorizzate prima di chiamare displayCredentials ()? Se le credenziali non vengono trovati è possibile avviare l'attività da startSubActivity () metodo e call displayCredentials () dopo il prompt finiture di attività in onActivityResult ().