簡體   English   中英

打電話給finish()嗎?

[英]Call finish() or not?

我正在嘗試獲取一些API數據到我的應用程序,並且我有兩個活動。 第一個是啟動畫面(就像Google在您的應用加載時使用的一樣),我想知道在哪里調用finish()來結束活動。

public class SplashScreen extends AppCompatActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    AsyncDataFetch fetch = new AsyncDataFetch();
    fetch.setContext(this);
    fetch.execute();

}

}

我已經將所有代碼移到了AsyncTask中,所以我不阻塞ui線程,現在無法在其中調用finish(),或者我不知道怎么做。

我為什么要在那里為我的應用程序調用finish,而不是在我的活動上調用它,你可能會問...這是因為如果我這樣做,它會產生某種故障,因為我的API獲取大約需要1秒鍾並顯示並關閉此活動花費更少。

那么,我應該在哪里調用finish()呢?

從doInBackground()獲得結果后,應在異步任務的onPostExecute中調用finish() ()。

如果您想完成的活動是一個快速的場景,則應將finish()放在postExecute() ,應在asyncsTask中將其重寫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM