問題タブ [fragmentmanager]

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 投票する
3 に答える
34407 参照

java - Android FragmentManager BackStackRecord.run が NullPointerException をスローする

フラグメントを操作しているときに、次の例外が発生することがあります。

マネージャーからフラグメントを削除しようとしたときに、を介してrun()ofBackStackRecordが呼び出されると、例外が発生します。execPendingTransactions()

正確に何が原因なのかわかりませんか?フラグメントを削除するときに、フラグメントのバックスタックが正しくクリーンアップされていないことに関係していると思います。

0 投票する
8 に答える
22922 参照

android - FragmentTransactionをコミットする前に、状態が保存されているかどうかを確認する

ユーザーがアクティビティを表示していないときに発生する可能性のあるコミットについて、次のスタックトレースが表示されることがあります(状態が保存された後)。

Androidのソースを見ると、これは完全に理にかなっています。

さて、フラグメントが望ましくない状態でコミットされるかどうかをチェックする方法(on(Save / Restore)InstanceStateにクラス変数を格納する以外に)があるかどうか疑問に思います。このようにして、後でトランザクションを格納して作成できます。適切なタイミングでコミットします。

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

android - Android は FragmentStatePagerAdapter の末尾にフラグメントを追加します

アダプターが最後のページに到達するたびに、別のページを追加したいと考えています。使用してみたコードは次のとおりです。

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

android-activity - 現在のフラグメント内からフラグメント クラスを含むアクティビティの変数を書き込む方法は?

フラグメントの数が不定のアクティビティがあります。フラグメント内には、アクティビティ バーからインテントを正しく呼び出すためにアクティビティでアクセスする必要がある変数があります。ただし、現在のフラグメントの変数のみが画面に表示されます。これは、呼び出しがフラグメントに依存するためです。フラグメント マネージャーが一度に 3 つのフラグメントを作成するため、最後に変数を書き込むのが誰であるかがわからないため、フラグメント内から呼び出す変数を書き込むことができません。フラグメントを識別する必要が表示されます。内部から setUserVisibleHint(boolean b) をオーバーライドして可視性を制御し、true の場合に変数を書き込もうとしましたが、同じことが起こりました。現在のフラグメントが最後の書き込みであるとは限りません。また、アクティビティから現在のフラグメントを取得してフラグメント メソッドを呼び出し、この変数を取得しようとしました。しかし、現在のフラグメントを特定することは困難です。

ただし、null ポインター例外があります。

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

android - DialogFragment は、ActionBar 経由で呼び出されると異なる動作をします

次の手順をテストしているときに、DialogFragment サブクラスで奇妙な、おそらくバージョン固有の動作が発生しています。

(1) ダイアログを開きます
(2) ホーム キーまたは最近使ったアプリ キーでアプリを終了します
(3) アプリに戻ると、ダイアログは表示されなくなります。主な活動の背後に、一時的に半透明に見えるようです
(4) デバイスを回転させると、ダイアログが再表示されます。

このバグは、Android 4.2.1 を実行している Asus TF700T パッドで発生し、Android 4.1.2 を実行している Motorola Razr 電話 (オーバーフロー ボタンではなくメニュー キーがある) では発生しません。さらに、ダイアログがオーバーフロー メニューを介して開かれた場合にのみ発生します。ActionBar アイテムを介して開かれたダイアログでは、この問題は発生しません。最後に、アクティビティを一時停止する前に向きを変更すると、問題は発生しません。

「これは明らかに Android のバグです」などの憂鬱なコメントを含む非常によく似た問題を見つけました。関連するバグ レポートがあります。そうではないと言ってください...

この問題に対する私の回避策は onResume() にあります。null でないものがある場合は、それらを却下して再表示します。しかし、ここで実際に何が起こっているのかを理解したいと思います。