Ich versuche, einige API-Daten zu meiner App zu holen, und ich habe zwei Aktivitäten. Der erste ist ein Begrüßungsbildschirm (wie er von google verwendet wird, während Ihre App geladen wird) und ich möchte wissen, wo Sie finish() aufrufen können, um die Aktivität zu beenden.Anruf beenden() oder nicht?
public class SplashScreen extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AsyncDataFetch fetch = new AsyncDataFetch();
fetch.setContext(this);
fetch.execute();
}
}
Ich bin umgezogen alle meine Code in meinem AsyncTask, damit ich die UI-Thread nicht blockieren und jetzt kann ich nicht finish() es nennen, oder ich weiß nicht, wie.
Warum sollte ich für meine App beenden, anstatt es auf meine Aktivität zu nennen, die Sie vielleicht fragen ... Es ist, weil es eine Art von Glitch erzeugt, wenn ich dies tue, weil meine API-Abruf dauert etwa 1 Sekunde und zeigt und das Schließen dieser Aktivität dauert weniger.
Also, wo soll ich finish() nennen und wie?
Hallo. Vielen Dank. In der Tat habe ich versucht, dies so zu nennen, wie du gesagt hast, aber es scheint, dass diese Methode finish() nicht aus der Aktivität heraus erkannt wird. Ich habe versucht, es aus dem Kontext (wie von der Methode setContext() übergeben) und mit SplashActivity.class.finish() zu nennen. Wie nenne ich das? Ich habe keine relevanten Antworten auf Google noch gefunden – bemihai22
SplashActivity.this.finish() –
Vielen Dank – bemihai22