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共享代码,我不知道没有它您将做什么。