問題タブ [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.
android - startActivity() の呼び出し時に DialogFragment が Activity をクラッシュさせる
シンプルであるはずDialogFragment
の がありますが、特に Jelly Bean でいくつかの大きな問題が発生しています。
アプリはネットワークを使用し、ユーザーに WiFi をオンにするかキャンセルするかを尋ねるダイアログを表示してから閉じます。したがって、次のようにビューを拡張DialogFragment
して作成します。
ユーザーが [はい] をクリックすると、ダイアログが閉じられ、ワイヤレス設定アクティビティが開きます。または、ユーザーが [キャンセル] をクリックすると、アクティビティ全体が閉じられますが、Jelly Bean では、[はい] をクリックするたびに設定が開きますが、アプリは次のエラーで強制的に閉じられます。
私のレイアウトにあった各フラグメントの保存された状態を示すいくつかの追加のログがあり、番号 2 であるはずだったのSettingsDialogFragment
は単なるnull
:
ダイアログを閉じないようにしましたが、同じようにクラッシュしました。
ここで何が起こっているのかよくわかりません…何かアイデアはありますか?
編集:
アクティビティ コード (アプリは ICS 以上を対象としているため、通常のアクティビティです):
android - DialogFragmentで「検索」キーの押下を無視する方法
以前はダイアログのクラスを拡張していたので、電話の検索キーが押さDialog
れたときにダイアログが閉じられないように、ダイアログで次のコードセグメントを使用する必要がありました。
現在DialogFragment
、ダイアログにクラスを使用しています。残念ながら、電話の検索キーが押されたときにダイアログが閉じられるというDialogFragment
問題と同じ問題があります(ダイアログのキャンセル可能な状態に関係なく)。二重に問題なのは、メソッドがないため、上記のコードセグメントが適用されなくなったことです。Dialog
DialogFragment
setOnKeyListener
検索キーの押下を無視するようにダイアログを(表示時に)取得する方法を知っている人はいますか?
注:上記のコードセグメントをアクティビティのメソッドに追加しようとしましたが、インスタンスが表示されている場合、
onKeyUp
残念ながらアクティビティのonKeyUp
メソッドは呼び出されません。DialogFragment
代わりに、苛立たしいことに、DialogFragment
インスタンスは却下されます。
android - フルスクリーン DialogFragment
MATCH_PARENT の幅で DialogFragment を作成しようとしているので、ダイアログはほぼ全画面表示になります (フローティングの外観のために端の周りにパディングを残します)。Android でこのソリューションFull Screen DialogFragmentを見たことがありますが、幅を 1000dp に設定するハックを回避しようとしています。私の現在のレイアウトでは、FILL_PARENT または MATCH_PARENT を使用するかどうかにかかわらず、幅と高さを WRAP_CONTENT に設定しているようです。
ダイアログ(DialogFragmentではなく)にこのソリューションを使用しましたが、期待どおりに機能します:
android - DialogFragmentは、ランタイム構成が変更された後にnullになります
私は使い方Fragment
を学んでいますDialogFragment
。トレーニングとして、DialogFragmentページAlertDialog
に示されている例を拡張しようとしています。どうやらすべてが正常です。オプションメニューを表示してそのボタンをクリックすると、ダイアログが表示され、期待どおりに動作します。ただし、ダイアログが表示されているときに構成が変更された場合(たとえば、画面を回転させた場合)、ダイアログは正しく再作成されますが、そのボタンのいずれかをクリックするとアプリケーションがクラッシュします。私は問題を修正するために多くのこと(たとえば、静的、、メソッド、およびその他の文書化された提案)を試しましたが、何も機能していないようですので、私は出発点にいます。サポートライブラリv4を使用しています。newInstance
setRetainInstance
onSaveInstanceState
これが私の主なアクティビティコードです。
これが私のDialogFragment
コードです:
[キャンセル]ボタンをクリックした後に実行がクラッシュすると、logcatNullPointerException
はdoNegativeメソッドにを表示します。[OK]ボタンをクリックした後にクラッシュが発生したNullPointerException
場合は、doPositiveメソッドで発生します。DialogFragment
オブジェクトがnullであることは明らかです。
誰か助けてくれませんか?TIA
android - DialogFragment - 初期値の設定と回転後の状態の保持
onCreateDialogメソッドからAlertDialogを構築して返すDialogFragmentを作成しました。AlertDialog には、2 つの EditText ビューが含まれています。
これら 2 つの編集テキストの初期値をonCreateDialogメソッドで設定しています。これは、電話を回転させてonCreateDialogが呼び出されるため、すべての変更が失われるか、初期値に復元されるまでうまく機能します。
だから私の質問は、最初にダイアログを開いたときにのみ設定されるように、初期値をどこに配置する必要があるかということです。
以下に、コードの簡略化されたバージョンを貼り付けました。解決策の 1 つは、newInstance() メソッドでクラス属性を初期化することですが、その後、それらを静的にする必要があります。他の解決策は Bundle を介して値を渡すことですが、パラメータの型として Calendar を取る put-method はありません。
ベストプラクティスとは?
}
android - API レベル < 8 の Dialog.setOnShowListener() 代替
をAlertDialog
介して実装していDialogFragment.onCreateDialog()
ます。ダイアログには、[ EditText
OK] と [キャンセル] の 1 つと 2 つのボタンがあります。[OK] ボタンがクリックされたら、の内容を確認する必要がありますEditText
。内容が間違っている場合は、ダイアログを閉じてはいけません。SO で検索すると、この機能は次の方法で簡単に実現できることがわかりました。
問題は、サポート ライブラリ v4 を使用しているのに、setOnShowListener()
API レベル 8 以上が必要なことです。誰かが私に代わりを与えることができますか?ティア
android - AlertDialog の入口と出口をアニメーション化する
入ったときにスライドインし、閉じたAlertDialog
ときにスライドアウトする必要がありますが、アニメーション化されていません。
では、アニメーションを機能させるにはどうすればよいですか?
これが私が持っているものです、
themes.xml
私はあまりにも多くのリソースを参照しましたが、これを行うための適切な方法が1つもないようです。何かが欠けている可能性があります
私は使っている
- アンドロイド ICS
- アプリは API 15+ 向けに構築されています
回答が得られなかった関連リソースを次に示します。
android - DialogFragmentを画像サイズに合わせる
いくつかの写真を表示するViewPagerを備えたDialogFragmentがあります。上に奇妙な黒い縞があり、これらの写真が変形しているという問題。
これは私が現在持っているものです、そしてあなたが見ることができるように、絵は本当によく見えません、そしてダイアログの上に奇妙な黒い縞があります。
これは、黒い縞模様がなく、画像が画面の幅に収まるように見えるはずです。
どうすればこれを行うことができますか?
よろしくお願いします。
android - DialogFragment でボタンのクリックを処理する
DialogFragment を拡張する Fragment があり、2 つの編集テキストと 2 つのボタン (ok とキャンセル) を含むカスタム レイアウトがあります。私のダイアログは、レイアウトを指定するために onCreateView メソッドを使用して問題なく表示されますが、ボタンのクリックを処理する方法がわかりません。onCreateView メソッド内で、button.setOnClickListener が機能しません。これは簡単な解決策かもしれませんが、私は数時間立ち往生しています。アドバイスやサンプルコードをいただければ幸いです。
PS AlertDialog を使用したくありません。この場合、[OK] ボタンをクリックすると、ダイアログが自動的に閉じてしまい、edittext の検証を行うことができないためです (例: ユーザーが [OK] ボタンを押して、edittext のダイアログが消えないようにしたい)。これが、カスタム ダイアログを作成し、ボタンの動作を簡単に管理するオプションを使用した方法です。
android-dialogfragment - 複数のアクティビティにDialogFragmentを使用した日付ピッカーダイアログ
複数のアクティビティに新しい DialogFragment クラスを使用して DatePicker ダイアログを使用する必要があります。datepicker と time picker を使用して 2 つ以上のアクティビティを行っています。単一アクティビティのダイアログフラグメントの developer.android.com の例を使用して成功しました。
それを使用する場合、アクティビティごとに異なる DialogFragment クラスを作成する必要があります。この例で提供されているスイッチケースを使用するような解決策はありますか?