我有一个片段,在它的onStart()上,我做了很多BD查询,长达15秒。我想显示一个进度对话框,带有“加载圈”。 我的应用程序,只有一个Activity,Main。这个,开始第一个片段,从这里,我跳到其他片段,并为下一个片段相同。为了从一个片段传递到另一个片段,我使用下一个静态方法。
public static startFragment(FragmentTransaction FT, Fragment newFragmentToOpen)
{
FT.replace(R.id.Container, newFragmentToOpen);
FT.addToBackStack(null);
FT.commit();
}
我尝试在该方法中创建一个启动进度对话框的线程,但它没有用。我尝试在片段的OnCreate()方法上启动对话框,但这也没有用。
我该怎么办?
谢谢。
(编辑) 我尝试在onCreateView()和onViewCreated()中启动Fragment内部的Progress Dialog。它不起作用,但是如果我一步一步地调试,我看到当流程进入onStart()(使用DB的10秒钟)时,ProgressDialog停止。
通过这个测试,我理解,ProgressDialog被正确显示,但是当我去onStart()时,它就会消失。
(编辑)
问题是,在Fragment的onStart()上,我正在研究视图,addking元素。我需要的是,在加载这些元素时,会显示一个对话框,因为现在,对于用户来说,应用程序在加载时似乎是sttoped。我需要这样的东西:
public static startFragment(FragmentTransaction FT, Fragment newFragmentToOpen)
{
startProgressDialog();
FT.replace(R.id.container, newFragmentToOpen);
FT.addToBackStack(null);
FT.commit();
stopProgressDialog();
}
但它不起作用,因为当Fragment的视图完全加载时,进程Dialog才会开始。
答案 0 :(得分:0)
您应该尝试在onCreateView()
中显示对话框,因为这是UI组件在Fragment
答案 1 :(得分:0)
我找到了解决方案。