2012-08-05 4 views
7

私はFragmentsを使用してAndroidでアプリケーションを開発しています。私はこの3つのタブを有する:ViewPagerで次のフラグメント(タブ)のプリロードを防止する

User app screenshot

私はsetOffScreenPageLimit()の最小値は1である限り(前及び次)各側に1つのフラグメントの負荷を防止することは不可能であるが、それは意味を知っています私はDescargasフラグメント内で実行されているAsyncTaskonPreExecute方法にProgressDialogを表示したい場合は、この私がCapturadorにNAVときProgressDialogが必ずしもロードされるということを引き起こすこと?もしそうなら、私はパッケージをダウンロードしていることをユーザーに知らせる方法は知らない(XMLを解析するためにDescargasが行うことだ)。

ありがとうございます;)

+1

この質問は素晴らしい言葉です。私はこれと同様の問題に直面しています。ここでは、異なる「フラグメント」に「ダイアログ」を表示する必要がありますが、それらが重なっているためにできません。 – tolgap

+0

誰かが私たちを助けてくれることを望みましょう。私はフラグメントと混同しているビットよりも少し多いとか、それ以上のことは認めなければなりませんが、この問題を解決する方法はわかりません。 –

+0

'setOffScreenPageLimit()'が常に1にデフォルト設定されているのはかなり馬鹿です。 – tolgap

答えて

4

DescargasフラグメントにProgressBarを埋め込みます。または、フラグメントがロードされている間、フラグメントの中央に不確定なプログレスバーをオーバーレイします。

ダイアログは実際にアクティビティの一部ですが、それはページの1つにしか適用できないという意味にはなりません。

あなたがダイアログを使用して主張しなければならないならば、あなたはonPageChangeListener

viewPager.setOnPageChangeListener(OnPageChangeListener)を実装することができますが、一日の終わりに。

指定されたフラグメントが選択されている場合は適切なダイアログを表示し、離れた場合は逆のダイアログを表示することができます。

+0

ありがとうございます。 次に、私はちょうど学んでいると考えて、プログラミングの良い習慣に沿って、一貫して何かをしようとします。 私は良い方法は、メインアクティビティのフラグメントではなく、ダイアログやトーストのようなグラフィックイベントを制御することだと思います。 誰かが私にアイデアを与えることができれば感謝します。私はあなたの仕事をするのではなく、ヒントや指示をするだけです。 –

+0

自分自身への応答とPorkのおかげで、最終的には、レイアウトで定義されている未確定のProgresBarを実装しました.PregressBar.setVisibility(View.GONE)で非表示にしています。 私はそれが高度ではない私の知る限り、私はOnPageChangeListenerオプションを実装することさえできないので、それは厄介な解決策ではないことを願っています。 –

+0

それは完璧なキーサーと聞こえる!あなたは確かにフラグメントからのダイアログを使うことができますが、ビューページ内のフラグメントはややこしいものです。あなたは、ダイアログが本当に他のアクションを取るのを防ぐためのものであることに注意しなければなりません。しかし、待機中にアクティビティ内でできることが他にもある場合は、ダイアログを使用しないことをお勧めします。私にとって、進歩論議は、通常、ほとんどの人々の最終的な解決策にはならないはずの速いハックであることを意味します。フラグメントからダイアログを起動することはできますが、ユーザーは実際にアクティビティを知っている/気にしていることに気をつけてください。 –

関連する問題