我有一個應用程序,其中包含:啓動屏幕,主活動(從啓動屏幕啓動),其中有一個導航視圖,用於附加和分離某個片段。
在一個片段中,我需要用AsyncTask下載一些信息。問題在於AsyncTask在啓動畫面中被調用(啓動畫面會持續3秒),下載可能需要多於或少於3秒。在AsyncTask的我想調用一個函數loadFeeback()
(即在片段類),只有當片段已經加載,如果沒有我設置一個靜態變量下載爲true。從可能尚未實例化的活動中獲取片段管理器
public void onPostExecute(Feedback[] feedbacks){
Dati.feedbacks = feedbacks;
if(mainActivity != null) {
FragmentManager fragmentManager = mainActivity.getSupportFragmentManager();
FeedbackFragment feedbackFragment = ((FeedbackFragment) (fragmentManager.findFragmentById(R.id.nav_feedback)));
Dati.feedbackDownloaded = true;
if (feedbackFragment != null)
feedbackFragment.loadFeeback();
}
}
的問題是,我不能讓在MainActivity參考,我不能上下文傳遞到的AsyncTask因爲它是從閃屏調用。
任何人都可以幫助我嗎?
爲什麼不在主要活動中調用AsyncTask? – Cochi
@Cochi我想優化時間 – Francesco