Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在一个活动中下载数据的多个片段_Android_Android Layout_Android Fragments - Fatal编程技术网

Android 在一个活动中下载数据的多个片段

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)

以下是我想要的:

FragmentActivity首先显示Fragment1,然后显示Fragment2。 每个片段应:

下载数据前显示自定义进度对话框 从互联网下载数据 取消对话框 用获取的数据填充视图 当显示新片段时,我有FragmentActivity和子片段调用activity方法:

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中,并启动任务以下载内容。任务完成后,更新片段的视图。