0

ユーザーがホスト名、ユーザー名、およびパスワードを入力し、[資格情報の確認] ボタンをクリックできるアクティビティがあります。次に、資格情報がチェックされますが、これには時間がかかります。その間、ユーザーは資格情報を変更したり、[確認] を再度クリックしたりすることはできません。したがって、ProgressDialogのようなモーダル ダイアログは、これに最適なようです。

残念ながら、 ProgressDialog には、向きの変更などに関するよく知られた制限があります。ガイド ( UI/Dialogs ) では、 ProgressDialog をまったく避け、代わりにレイアウトで ProgressBar を使用するように指示されています ( Progress & Activityのように)。これは何を意味するのでしょうか?プログレス バーが 1 つだけの別のアクティビティを作成しますか? または、すべての入力フィールドを無効にして、その上にプログレス バーを配置しますか? 私にはかなり奇妙に聞こえます...あなたの好みの解決策は何ですか?

4

3 に答える 3

3

私が使用する最良のものは次のとおりです。

ProgressBarLogin のすぐ横にa を置きButtonます。

メソッドの横にプログレスバーを配置しました(可視性がに設定されていますView.GONEOnCreate

View.GONEユーザーが [ログイン/送信] ボタンをクリックすると、ボタンの可視性と の可視性を に設定しProgressBarますView.VISIBLE

見栄えが良く, ユーザーは作業が完了するまでボタンをクリックできません. エラーが発生した場合, ユーザーが再試行できるように可視性を切り替えます.

于 2013-08-18T15:20:02.813 に答える
-1

問題を一時的に解決するには、引き続き を使用して、Progress Dialog次の行をLogin Activity'sタグの Manifest.xmlファイルに追加します。

android:configChanges="orientation|keyboardHidden|screenSize"

このコード行を使用してもProgress Dialog、向きの変更には影響しません。しかし、Android Development's Documentation によると、これは間違った方法と見なされています。

長期的には、向きの変更の状態を保持することをお勧めします。

于 2013-08-18T15:27:53.953 に答える