問題タブ [android-dialogfragment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
5525 参照

android - startActivity() の呼び出し時に DialogFragment が Activity をクラッシュさせる

シンプルであるはずDialogFragmentの がありますが、特に Jelly Bean でいくつかの大きな問題が発生しています。

アプリはネットワークを使用し、ユーザーに WiFi をオンにするかキャンセルするかを尋ねるダイアログを表示してから閉じます。したがって、次のようにビューを拡張DialogFragmentして作成します。

ユーザーが [はい] をクリックすると、ダイアログが閉じられ、ワイヤレス設定アクティビティが開きます。または、ユーザーが [キャンセル] をクリックすると、アクティビティ全体が閉じられますが、Jelly Bean では、[はい] をクリックするたびに設定が開きますが、アプリは次のエラーで強制的に閉じられます。

私のレイアウトにあった各フラグメントの保存された状態を示すいくつかの追加のログがあり、番号 2 であるはずだったのSettingsDialogFragmentは単なるnull:

ダイアログを閉じないようにしましたが、同じようにクラッシュしました。

ここで何が起こっているのかよくわかりません…何かアイデアはありますか?


編集:

アクティビティ コード (アプリは ICS 以上を対象としているため、通常のアクティビティです):

0 投票する
1 に答える
1642 参照

android - DialogFragmentで「検索」キーの押下を無視する方法

以前はダイアログのクラスを拡張していたので、電話の検索キーが押さDialogれたときにダイアログが閉じられないように、ダイアログで次のコードセグメントを使用する必要がありました。

現在DialogFragment、ダイアログにクラスを使用しています。残念ながら、電話の検索キーが押されたときにダイアログが閉じられるというDialogFragment問題と同じ問題があります(ダイアログのキャンセル可能な状態に関係なく)。二重に問題なのは、メソッドがないため、上記のコードセグメントが適用されなくなったことです。DialogDialogFragmentsetOnKeyListener

検索キーの押下を無視するようにダイアログを(表示時に)取得する方法を知っている人はいますか?

注:上記のコードセグメントをアクティビティのメソッドに追加しようとしましたが、インスタンスが表示されている場合、onKeyUp 残念ながらアクティビティのonKeyUpメソッドは呼び出されません。DialogFragment代わりに、苛立たしいことに、 DialogFragmentインスタンスは却下されます。

0 投票する
10 に答える
28627 参照

android - フルスクリーン DialogFragment

MATCH_PARENT の幅で DialogFragment を作成しようとしているので、ダイアログはほぼ全画面表示になります (フローティングの外観のために端の周りにパディングを残します)。Android でこのソリューションFull Screen DialogFragmentを見たことがありますが、幅を 1000dp に設定するハックを回避しようとしています。私の現在のレイアウトでは、FILL_PARENT または MATCH_PARENT を使用するかどうかにかかわらず、幅と高さを WRAP_CONTENT に設定しているようです。

ダイアログ(DialogFragmentではなく)にこのソリューションを使用しましたが、期待どおりに機能します:

0 投票する
1 に答える
2921 参照

android - DialogFragmentは、ランタイム構成が変更された後にnullになります

私は使い方Fragmentを学んでいますDialogFragmentトレーニングとして、DialogFragmentページAlertDialogに示されている例を拡張しようとしています。どうやらすべてが正常です。オプションメニューを表示してそのボタンをクリックすると、ダイアログが表示され、期待どおりに動作します。ただし、ダイアログが表示されているときに構成が変更された場合(たとえば、画面を回転させた場合)、ダイアログは正しく再作成されますが、そのボタンのいずれかをクリックするとアプリケーションがクラッシュします。私は問題を修正するために多くのこと(たとえば、静的、、メソッド、およびその他の文書化された提案)を試しましたが、何も機能していないようですので、私は出発点にいます。サポートライブラリv4を使用しています。newInstancesetRetainInstanceonSaveInstanceState

これが私の主なアクティビティコードです。

これが私のDialogFragmentコードです:

[キャンセル]ボタンをクリックした後に実行がクラッシュすると、logcatNullPointerExceptionはdoNegativeメソッドにを表示します。[OK]ボタンをクリックした後にクラッシュが発生したNullPointerException場合は、doPositiveメソッドで発生します。DialogFragmentオブジェクトがnullであることは明らかです。

誰か助けてくれませんか?TIA

0 投票する
2 に答える
4269 参照

android - DialogFragment - 初期値の設定と回転後の状態の保持

onCreateDialogメソッドからAlertDialogを構築して返すDialogFragmentを作成しました。AlertDialog には、2 つの EditText ビューが含まれています。

これら 2 つの編集テキストの初期値をonCreateDialogメソッドで設定しています。これは、電話を回転させてonCreateDialogが呼び出されるため、すべての変更が失われるか、初期値に復元されるまでうまく機能します。

だから私の質問は、最初にダイアログを開いたときにのみ設定されるように、初期値をどこに配置する必要があるかということです。

以下に、コードの簡略化されたバージョンを貼り付けました。解決策の 1 つは、newInstance() メソッドでクラス属性を初期化することですが、その後、それらを静的にする必要があります。他の解決策は Bundle を介して値を渡すことですが、パラメータの型として Calendar を取る put-method はありません。

ベストプラクティスとは?

}

0 投票する
3 に答える
4350 参照

android - API レベル < 8 の Dialog.setOnShowListener() 代替

AlertDialog介して実装していDialogFragment.onCreateDialog()ます。ダイアログには、[ EditTextOK] と [キャンセル] の 1 つと 2 つのボタンがあります。[OK] ボタンがクリックされたら、の内容を確認する必要がありますEditText。内容が間違っている場合は、ダイアログを閉じてはいけません。SO で検索すると、この機能は次の方法で簡単に実現できることがわかりました。

問題は、サポート ライブラリ v4 を使用しているのに、setOnShowListener()API レベル 8 以上が必要なことです。誰かが私に代わりを与えることができますか?ティア

0 投票する
1 に答える
8871 参照

android - AlertDialog の入口と出口をアニメーション化する

入ったときにスライドインし、閉じたAlertDialogときにスライドアウトする必要がありますが、アニメーション化されていません。

では、アニメーションを機能させるにはどうすればよいですか?

これが私が持っているものです、

themes.xml

私はあまりにも多くのリソースを参照しましたが、これを行うための適切な方法が1つもないようです。何かが欠けている可能性があります

私は使っている

  • アンドロイド ICS
  • アプリは API 15+ 向けに構築されています

回答が得られなかった関連リソースを次に示します。

0 投票する
3 に答える
3164 参照

android - DialogFragmentを画像サイズに合わせる

いくつかの写真を表示するViewPagerを備えたDialogFragmentがあります。上に奇妙な黒い縞があり、これらの写真が変形しているという問題。

これは私が現在持っているものです、そしてあなたが見ることができるように、絵は本当によく見えません、そしてダイアログの上に奇妙な黒い縞があります。

ここに画像の説明を入力してください

これは、黒い縞模様がなく、画像が画面の幅に収まるように見えるはずです。

ここに画像の説明を入力してください

どうすればこれを行うことができますか?

よろしくお願いします。

0 投票する
6 に答える
33413 参照

android - DialogFragment でボタンのクリックを処理する

DialogFragment を拡張する Fragment があり、2 つの編集テキストと 2 つのボタン (ok とキャンセル) を含むカスタム レイアウトがあります。私のダイアログは、レイアウトを指定するために onCreateView メソッドを使用して問題なく表示されますが、ボタンのクリックを処理する方法がわかりません。onCreateView メソッド内で、button.setOnClickListener が機能しません。これは簡単な解決策かもしれませんが、私は数時間立ち往生しています。アドバイスやサンプルコードをいただければ幸いです。

PS AlertDialog を使用したくありません。この場合、[OK] ボタンをクリックすると、ダイアログが自動的に閉じてしまい、edittext の検証を行うことができないためです (例: ユーザーが [OK] ボタンを押して、edittext のダイアログが消えないようにしたい)。これが、カスタム ダイアログを作成し、ボタンの動作を簡単に管理するオプションを使用した方法です。

0 投票する
2 に答える
1327 参照

android-dialogfragment - 複数のアクティビティにDialogFragmentを使用した日付ピッカーダイアログ

複数のアクティビティに新しい DialogFragment クラスを使用して DatePicker ダイアログを使用する必要があります。datepicker と time picker を使用して 2 つ以上のアクティビティを行っています。単一アクティビティのダイアログフラグメントの developer.android.com の例を使用して成功しました。

それを使用する場合、アクティビティごとに異なる DialogFragment クラスを作成する必要があります。この例で提供されているスイッチケースを使用するような解決策はありますか?