Android 加载包含大量数据的片段时关闭抽屉的延迟
在我没有加载大量数据的片段上,它们加载得非常快,抽屉也很快关闭 然而,当加载包含大量数据的片段时,抽屉关闭时会有延迟 我已经在主布局上设置了一个进度条,以显示数据加载并将其放入view.post(new Runnable(),但抽屉关闭时仍有延迟。也许我做得不对 在fragments OnCreateView方法中,我有以下内容Android 加载包含大量数据的片段时关闭抽屉的延迟,android,android-fragments,Android,Android Fragments,在我没有加载大量数据的片段上,它们加载得非常快,抽屉也很快关闭 然而,当加载包含大量数据的片段时,抽屉关闭时会有延迟 我已经在主布局上设置了一个进度条,以显示数据加载并将其放入view.post(new Runnable(),但抽屉关闭时仍有延迟。也许我做得不对 在fragments OnCreateView方法中,我有以下内容 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bun
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_icon_request_list, container, false);
if (view != null) {
progressBar = (ProgressBar) getActivity().findViewById(R.id.base_progressSpinner);
progressBar.setVisibility(View.VISIBLE);
view.post(new Runnable() {
@Override
public void run() {
try {
initCards();
} catch (IOException e) {
e.printStackTrace();
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
}
});
}
return view;
}
initCards()是完成所有工作的方法。onCreate或onActivityCreated上没有任何工作
我做错了什么?您可以尝试使用延迟,如下所示:
new Handler().postDelayed(new Runnable() {
public void run() {
initCard();
}
}, 1000);
也许这个链接可以帮助你:-关于View.post(new Runnable(..)的部分如果你像这样发布一个Runnable,它仍然会在UI线程上运行。你要做的是在一个单独的线程中完成这项工作。如果你发布你的initCards()代码,我可以帮助你。用initCards()方法更新了post