Android 异步设置片段布局

Android 异步设置片段布局,android,android-fragments,Android,Android Fragments,我有一个片段,它带有一些按钮,当按下这些按钮时,可以将当前片段替换为另一个片段。现在,片段的MOT需要几秒钟来设置包含的所有视图,所以我想在构建片段视图时显示一个微调器。 我不能将AsyncTask用于“构建”Fragment,因此我尝试在Fragment的onCreateView方法中运行一个线程来显示: showLoadingDialog(); Thread t = new Thread() { @Override public void run() {

我有一个
片段
,它带有一些按钮,当按下这些按钮时,可以将当前片段替换为另一个片段。现在,片段的MOT需要几秒钟来设置包含的所有视图,所以我想在构建片段视图时显示一个
微调器。
我不能将
AsyncTask
用于“构建”
Fragment
,因此我尝试在
Fragment
onCreateView
方法中运行一个线程来显示:

showLoadingDialog();
Thread t = new Thread() {
        @Override
        public void run() {
            getActivity().runOnUiThread(new Runnable() {

                @Override
                public void run() {
                    setWidgets(view);
                    dismissLoadingDialog();
                }

            });
        }
    };
    t.start();
其中
showLoadingDialog()
显示
Spinner
(并解除加载对话框)和setWidgets(视图),它是填充片段内所有视图的函数。 此解决方案不起作用,因为只有在setWidgets结束时才会显示
片段,因此不会显示微调器


我该怎么做?

您应该使用AsyncTask,并在onPostExecute()方法中进行片段更改


此方法设计为在UI线程上运行,并专门设计为在异步(脱离UI线程)操作完成后处理UI操作的位置。

要获得延迟,请使用
处理程序。
。如果使用asynctask构建UI,我将获得“只有创建视图层次结构的原始线程才能接触其视图。”您必须与AsyncTask共享代码,我不知道没有它您将做什么。