我有一個活動應用程序採用抽屜菜單異步任務的片段1塊另一個異步任務不同Fragment2
public class MainActivity extends ActionBarActivity {
....
void selectItem(int position) {
Bundle args = new Bundle();
args.putInt(PageFragment.ARG_Page_NUMBER, position);
android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
android.support.v4.app.FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
android.support.v4.app.Fragment fragment;
int ActiveFragmentId = 3;
if(position == 0){
fragment = new Fragment1();
} else if(position == 1){
fragment = new Fragment2();
}
}
....
和兩個片段片段1和Fragment2都在他們異步任務
現在,如果啓動Fragment1任務中的Asnc任務(即在Fragment1中的異步任務的onBackground()上保留一個斷點),並且如果我切換到Fragment2 Fragment2中的異步任務將不會工作,直到執行Fragment1的onPostExceute()。這是爲什麼?
而且getActivity()== NULL,裏面onPostExecute()Fragmnet1的異步任務,同時切換到Fragment2
似乎現在工作(即它不是阻塞),但getActivity()== null,在Fragmnet1的異步任務onPostExecute()內,同時切換到Fragment2 – user3826273 2015-02-11 16:18:17
嗯..如果你想有一個後臺任務,持續更長的時間比片段的生命週期,我會建議你使用服務。 AsyncTasks適用於短期後臺任務。 – juunas 2015-02-11 23:24:17
只要活動在那裏,我就想要它,而不是碎片。所以你說切換片段在onPostExecute()內部產生'getActivity()== null',同時替換片段 – user3826273 2015-02-12 08:42:14