Android 在一个活动中下载数据的多个片段
以下是我想要的: FragmentActivity首先显示Fragment1,然后显示Fragment2。 每个片段应: 下载数据前显示自定义进度对话框 从互联网下载数据 取消对话框 用获取的数据填充视图 当显示新片段时,我有FragmentActivity和子片段调用activity方法:Android 在一个活动中下载数据的多个片段,android,android-layout,android-fragments,Android,Android Layout,Android Fragments,以下是我想要的: FragmentActivity首先显示Fragment1,然后显示Fragment2。 每个片段应: 下载数据前显示自定义进度对话框 从互联网下载数据 取消对话框 用获取的数据填充视图 当显示新片段时,我有FragmentActivity和子片段调用activity方法: public class ActivityInTab extends FragmentActivity { public void navigateTo(Fragment newFragment)
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
}
}
}
我应该在这个步骤中使用哪个片段生命周期回调?您是否尝试实现了一些东西但失败了?@Luksprog我想我的问题很简单,不是说,嘿,伙计们,我的应用程序不工作了。我在确定哪些生命周期回调应用于特定操作时遇到问题。您的问题并不像您想象的那么简单。您想在什么时候启动ProgressDialog?从每个片段的活动中,还是希望每个片段在其可见时显示其自己的对话框?如何从一个片段切换到另一个片段?从何处填充视图,片段/活动/两者?@Luksprog感谢您的评论!我编辑了我的答案,我希望它现在更清晰。您只需要一个生命周期方法,例如onActivityCreated。在该方法中,您可以显示对话框,或者更好地将其合并到onPre/PostExecute回调中的AsyncTask中,并启动任务以下载内容。任务完成后,更新片段的视图。