这就是我想要的:
FragmentActivity 首先显示 Fragment1,然后是 Fragment2。每个片段应该:
- 在下载数据之前显示自定义进度对话框
- 从 Internet 下载数据
- 关闭对话框
- 用获取的数据填充视图
当应该显示新的 Fragment 时,我有 FragmentActivity 和子 Fragments 调用活动方法:
public class ActivityInTab extends FragmentActivity {
public void navigateTo(Fragment newFragment) {
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction ft = manager.beginTransaction();
ft.replace(R.id.frameLayout, newFragment);
ft.addToBackStack(null);
ft.commit();
}
}
如果我使用活动而不是片段,我会写这样的东西:
public class MyActivity extends Activity{
@Override
public void onCreate(Bundle savedInstanceStage){
super.onCreate();
setContentView(R.layout.main);
showDialog();//Show ProgressDialog here
startFetchingData();
}
private void startFetchingData(){
new DownloadDataTask().execute(...);
}
private class DownloadDataTask extends AsynkTask<...>{
protected void onPostExecute(...){
populateViewsWithDownloadedData();
hideDialog();//dismiss ProgressDialog
}
}
}
我应该在此步骤中使用哪些片段生命周期回调?