私はフラグメントを持っており、そのonStart()で15秒間長いBDクエリーをたくさん作っていました。 「ローディングサークル」を使って進捗ダイアログを表示したい。 私のアプリにはMainというアクティビティが1つしかありません。これは、最初のフラグメントを開始し、これから、私は他のフラグメントにジャンプし、次のフラグメントに対しても同様にジャンプします。 1つのフラグメントから他のフラグメントに渡すために、私は次の静的メソッドを使用します。フラグメントのダイアログの表示ダイアログ
public static startFragment(FragmentTransaction FT, Fragment newFragmentToOpen)
{
FT.replace(R.id.Container, newFragmentToOpen);
FT.addToBackStack(null);
FT.commit();
}
私はその方法で進捗ダイアログを開始するスレッドを作成しようとしましたが、それは機能しませんでした。私は、フラグメントのOnCreate()メソッドでダイアログを開始しようとしましたが、それもうまくいきませんでした。
どうすればよいですか?
ありがとうございます。
(編集) フラグメントの中で、onCreateView()とonViewCreated()でProgress Dialogを開始しようとしました。それはうまくいきませんでしたが、ステップバイステップでデバッグすると、フローがonStart()(DBを使用して10秒間)に移動する瞬間に、ProgressDialogが停止することがわかりました。
このテストでは、ProgressDialogが正しく表示されていることを理解していますが、onStart()に行くと消えます。
(編集)
問題は、フラグメントのONSTART()で、私は要素をaddking、ビューに取り組んでいますということ、です。私は、これらの要素が読み込まれている間、ダイアログが表示される必要があります。なぜなら、ユーザーにとって、アプリケーションが読み込まれている間にsttopedされているように見えるからです。フラグメントのビューが完全にロードされると進捗ダイアログがちょうど始まるので、
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秒間に必要なものが表示されます。 –