我有一個片段,並在其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秒鐘的時候需要這些句子。 –