我有一个片段,并在其onStart(),我做了很多BD查询,这是长达15秒。我想显示一个“加载循环”的进度对话框。 我的应用程序,只有一个活动,主。这就开始了第一个片段,由此我跳到其他片段,下一个片段也是如此。为了从一个片段传递到另一个片段,我使用下一个静态方法。显示对话,在片段工作
public static startFragment(FragmentTransaction FT, Fragment newFragmentToOpen)
{
FT.replace(R.id.Container, newFragmentToOpen);
FT.addToBackStack(null);
FT.commit();
}
我试过在该方法中创建一个线程什么启动进程对话框,但它没有工作。我试图在片段的OnCreate()方法上启动对话框,但这也没有起作用。
我该怎么办?
谢谢。
(编辑) 我试图在onCreateView()和onViewCreated()片段内启动进程对话框。它没有工作,但如果我一步一步地调试,我发现当流程进入onStart()(使用DB的时间为10秒)时,ProgressDialog停止。
通过这个测试,我明白ProgressDialog是正确显示的,但是当我进入onStart()时,它消失了。
(编辑)
的问题是,在片段在onStart(),我工作的意见,addking元素。我需要,当这些元素加载时,会显示一个对话框,因为现在,对于用户来说,它似乎应用程序在加载时被冻结。我需要这样的:
public static startFragment(FragmentTransaction FT, Fragment newFragmentToOpen)
{
startProgressDialog();
FT.replace(R.id.container, newFragmentToOpen);
FT.addToBackStack(null);
FT.commit();
stopProgressDialog();
}
但doesn't的工作,因为进度对话框刚刚开始时的片段的观点是满载。
请加上你以前试过的代码,有助于理解问题。 – W4R10CK
代码太多。正如我在帖子中所说的,我的应用程序是基于Fragments的。我有很多片段,被称为下一个。我使用静态方法(在第一篇文章中显示)。在片段上的OnStart()上,我制作了大量的DB句子,然后在加载10秒钟的时候需要这些句子。 –