异步设置片段布局

时间:2015-07-24 13:25:28

标签: android android-fragments

我有一个Fragment带有一些按钮,当按下时用另一个按钮替换当前片段。现在,片段的片段需要几秒钟来设置包含的所有视图,所以我想在片段视图正在构建时显示Spinner。 我无法使用AsyncTask进行"构建" Fragment,所以我尝试在onCreateView Fragment方法中运行一个帖子来显示:

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

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

            });
        }
    };
    t.start();

其中showLoadingDialog()显示Spinner(和dismissLoadingDialog忽略它)和setWidgets(view)它是填充片段内所有视图的函数。 这个解决方案不起作用,因为只有当setWidgets结束时才显示Fragment,所以没有显示微调器。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

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

此方法旨在重新运行UI线程,并专门设计为在Async(关闭UI线程)操作完成后处理UI操作的位置。