問題タブ [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 に答える
1720 参照

android - Android ダイアログ フラグメントと onActivityResult

Yesと の 2 つのオプションを持つダイアログ フラグメントをユーザーに提示するアプリケーションを作成しましたNo

ユーザーが「はい」を選択すると、アプリはデバイスにインストールされている Zxing barscan アプリケーションを呼び出し、結果を返します。

これで、この作業の概念実証ができました。ただし、この概念実証では単純なアクティビティを使用します。したがって、Dialog Fragment ではなくアクティビティを使用して、この Barscan の結果を得ることができます。

概念実証で使用されるコードは次のとおりです。

このコードは、ダイアログ フラグメントでは機能しません。私は検索していて、この質問にたどり着きました。

ただし、requestCode、resultCode、または必要なインテントにアクセスできず、その方法について非常に混乱しているため、統合されません。

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

android - Android: ダイアログを何度も開かないようにしますが、非表示にして同じダイアログを表示することを許可します

各ページにはがありActivity、それぞれに(を使用して) を認識してページからデータをロードしますが、リクエストがエラーで終了した場合、タイムアウトを入力するか、接続が失われた場合は、ダイアログを表示する必要がありますサーバーへの呼び出しをやり直すオプションを使用すると、エラーごとに複数のダイアログが開かれるのを防ぐ問題は、次のスニペットで解決されます。ViewPager PagerSlidingTabStripViewPagerfragmentfragmenthttp requestVolley

ここでこのソリューションを参照してください: http://www.jorgecoca.com/android-quick-tip-avoid-opening-multiple-dialogs-when-tapping-an-element/

ユーザーがクリックしdialog buttonて再試行すると、ダイアログが閉じられ、インターネット接続があるかどうかが確認されます。そうでない場合は、ダイアログを再度開く必要がありますが、ダイアログは再度表示されません。タグが表示されていると思いますにリリースされませんでしたFragmentManager

コードActivity:

誰かが回避策を提案してくれますか?

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

java - ダイアログ フラグメントは、MainActivity に実装した後に null ポインター例外をスローします。

アプリケーションで AlertDialog を使用しようとしていますが、入力が必要です。そのため、インターフェイスを作成し、カスタム DialogFragment クラス内で onAttach() メソッドをオーバーライドする必要がありました。Dialog クラスと MainActivity の両方ですべてを適切に設定したら、アプリを実行しようとしましたが、とりわけ nullpointer を参照するランタイム例外が発生しました。これがなぜなのかわかりません。助けが必要です。助けてください。以下に、インターフェイス メソッドのオーバーライド、.show() メソッドが呼び出される場所、DialogFragment クラスのコード、およびエラー ログを最後に巻き付けます。

私のカスタム DialogFragment クラス

そして今、エラーログ

0 投票する
0 に答える
251 参照

android - DialogFragment 中央横

ダイアログを画面全体に表示しようとしました。コードは次のとおりです。

問題は、高さがコンテンツを包み込んでいるように見えることです。しかし、幅は問題ないようです。これは問題ありませんが、高さが画面全体に収まらないという事実に加えて、ダイアログは水平方向の中央に配置されなくなり、画面の上端から開始されます。

私はすでにparams.gravity = Gravity.CENTER成功せずに試しました。

それに関するアイデアはありますか?

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

android - Android アプリ - 奇妙なインスタンス化例外

アプリがクラッシュし、次のメッセージが表示されました:

android.support.v4.app.Fragment$InstantiationException: フラグメント blabla.WelcomDialog をインスタンス化できません: クラス名が存在し、パブリックであり、パブリックである空のコンストラクターがあることを確認してください

インストール後にアプリを初めて起動したときに、エミュレーター(Android 2.2を実行)でクラッシュしました。アプリを起動すると、スプラッシュ スクリーンが表示されます。初めての場合は、スプラッシュ スクリーンが表示されている間にバックグラウンドの初期化が行われます。それ以外の場合は、スプラッシュ スクリーンが 1.5 秒間続きます。スプラッシュ スクリーン アクティビティが終了すると、メインのアプリ アクティビティが呼び出されます。メイン アクティビティの onCreate() メソッドでは、最後に WelcomeDialog を表示します。

ウェルカム ダイアログ クラスは次のとおりです。

これで、ダイアログ フラグメントにはパラメーターのないコンストラクターのみが必要であり、Bundle オブジェクトを使用してパラメーターを渡す必要があること (および、アクティビティを取得するための getActivity() メソッドがあること) はわかっていますが、気になるのは、初めてアプリを立ち上げました。フラグメントが以前にインスタンス化されたことがない場合でも、その例外が発生した可能性はありますか (したがって、再接続は不可能でした)。 このバグが 1 回だけ発生したことを明確にしたいと思います (デバッグ目的で何度もアプリをインストール/削除しましたが、発生しませんでした)。 別の質問: ウェルカム ダイアログを別のファイルに入れる必要がありますか? ありがとうございました。

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

android - DialogFragment の背後にポップアップが表示される

私はDialogFragmentを持っています。このダイアログ フラグメントのボタンをタップすると、ダイアログ フラグメントの特定の編集テキストの上にポップアップ ウィンドウを表示する必要があります。これを行うには、次を使用して編集テキストの絶対座標を見つけます

を使用して、必要な場所にポップアップを表示します

ただし、これを行うと、ダイアログ フラグメントの背後にポップアップ ウィンドウが表示されます。ダイアログフラグメントの上にポップアップを表示する方法はありますか?

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

java - Android - カスタム DialogFragment 幅を調整する

カスタム DialogFragment フラッシュを画面左に、wrap_content 幅で表示しようとしています。私はほとんどそこにいますが、完全ではありません。

ここに画像の説明を入力

ダイアログの右側がコンテンツの幅を超えて拡張されていることに注意してください。2 つを区別するために、メイン コンテンツ エリアの背面に赤い色を追加しました。これにより、メイン コンテンツ エリアは実際には、私が到達できない最小幅を持つ別のレイヤーにあると考えるようになります。DialogFragment の onResume() で、呼び出すと...

...これにより、幅が適切なサイズに調整されますが、ピクセルの違いにより、これがすべてのデバイスで正しくなるとは限りません。表示メトリックに基づいて 72 を変換していることに注意してください。ただし、提供した最小のアイコン バージョンは drawable-mdip フォルダーで 48x48px だったため、72 が適切な幅である理由がわかりませんでした。72x72px は drawable-hdip フォルダーにあります。これは、使用しているデバイスに固有のものであると想定しています...したがって、他のデバイスでは、表示メトリックに応じて、この値を 48、96、144 などに設定する必要がある場合があります。

私の質問は、このダイアログの右側が拡張されているのはなぜですか? プログラムで静的な値 (つまり 72) だけウィンドウを縮小せずに、どうすればそれを取り除くことができますか?

... カスタム ダイアログ xml は次のとおりです。