【发布时间】:2015-02-11 15:49:24
【问题描述】:
我有一个带有抽屉菜单的单一活动应用程序
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();
}
}
....
并且 Fragment1 和 Fragment2 两个片段中都有异步任务
现在,如果 Fragment1 任务中的 Asnc 任务已启动(即在 Fragment1 中的异步任务的 onBackground() 上保持断点)并且如果我切换到 Fragment2 在 Fragment1 的 onPostExceute() 执行之前,Fragment2 中的异步任务将无法工作。这是为什么?
还有getActivity() == null,在Fragmnet1的Async Task的onPostExecute()里面,同时切换到Fragment2
【问题讨论】:
标签: android android-fragments android-asynctask