問題タブ [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.
android - アプリケーションコンテキストからの FragmentManager
アプリケーションコンテキストから FragmentManager を取得する方法はありますか? ImageLoader または BitmapFun を使用して、サーバーからダウンロードしたビットマップを保存したいと考えています。どちらのクラスでも、向きの変更などの構成変更が行われた場合にキャッシュを保持するために FragmentManager を使用する必要があります。私の場合、実際に「必要」になる前に画像を事前にダウンロードしたいと考えています。
android - android.support.v4.app.FragmentManager または android.app.FragmentManager?
Android開発を学んでいます。とても簡単なはずのことに行き詰ってしまいます。
1 つのアクティビティ、2 つのフラグメント、1 つのインターフェイスでアプリを作成しています。
したがって、メイン アクティビティでは、マネージャーを使用してフラグメント B への参照を作成しようとしています。Eclispse がいくつかのことを変更するように指示しているため、ここで行き詰まります (以下を参照)。
私の意図:`
これを行うと、エラーメッセージが表示され、いくつかの変更を行う必要があります。変更後、コードは次のようになります (それでも FragmentB に到達できません)。
詳細については、アクティビティのインポート ヘッダーもここに追加します。
ここで何が欠けていますか?support.v4 /support.v7 全体は、初心者にとっては少し混乱します。
編集:に変更した後:
AND FragmentActivity を拡張しても、FragmentB への参照を作成できません。
}
リクエストに応じて、FragmentB コードを投稿しました。
メイン XML
android - フラグメント マネージャーでフラグメントを追加/削除する際のフラグメントの状態の保存/復元
動的に追加および削除されるいくつかのフラグメントを持つアクティビティがあります。でフラグメントが追加されるたびfragmentManager.beginTransaction().add(containerViewId, fragment, tag).commit()
に、フラグメントのメソッドで受け取ったバンドルは でonCreateView(LayoutInflater, ViewGroup, Bundle)
ありnull
、 を呼び出すfragmentManager.beginTrasaction().remove(fragment).commit()
と、frament のメソッド onSaveInstanceState(Bunlde) が呼び出されないことに気付きました。
フラグメントマネージャーでフラグメントを追加/削除するときに、フラグメントの状態を保存/復元する方法はありますか?
フラグメントが保持されている場合、Bundle
inonCreateView
は常にnull
です。
android - IllegalStateException アクティビティが破棄されました - トリプルネストされたフラグメント
私は を持っていますFragment
、それを呼びましょう...F1
を含むFragment
F2
; が含まれていFragment
F3
ます。
アプリケーションを起動すると、次のエラーが表示されます。
これは、次のコード行を指します。
私の主要な上位レベルのどこfragmentcontainer
にありますか。whereはの内に置かれます。FrameLayout
Fragment
F1
F2
F1
fragmentcontainer
これを解決する方法についてのアイデア; 検索を試みたところ、フィールドをハードコーディングしFragment
てすぐに割り当てるという他の結果が表示されましたが、それでも問題は解決しませんでした。
android - フラグメントの動的変更
2 つの質問があります。まず、誰かに言ってもいいですか、なぜこれがうまくいかないのですか? 私はフラグメントを変更しようとしていますが、彼は何もしません。最初のフラグメントが表示されます。
主な活動:
main.xml 内の次のようなフラグメント:
Fragmentclassはこれだけです:
Fragment は次のようになります。
なぜ彼がフラグメントを変更しないのかわかりません。switchFragment が実際に呼び出していることを確認してください。
2 番目の質問: これはフラグメントを変更する良い方法ですか? フラグメントが 10 個ある場合はどうなりますか?
ご協力いただきありがとうございます!:)
android - フラグメントで戻るとリスト ビューがリロードされます
リストビューを表示するフラグメント XYZFragment があります。リストビュー項目をクリックして、このようにフラグメントを置き換えます。
しかし、私の問題は、戻るボタンをクリックすると、フラグメントがリストビューをリロードすることです.Activityを使用していたときには決して起こりません。だから私の質問は、データのリロードを防ぐために前のフラグメントのインスタンスを保存する方法です。
android - FragmentManager popBackStack がフラグメントを削除しない
フラグメントを使用してメニュー ナビゲーションを実装しています。そのため、ホームから始めて、ユーザーはさまざまなセクションと各セクションの詳細に移動できます。
ユーザーがセクションを変更すると、ホームに到達するまで fragmentmanager バックスタックで pop を呼び出し、新しいセクションをロードします。
これはすべて期待どおりに機能しています。しかし、私はこの問題を抱えています:
- onResume() で setHasOptionsMenu(true) を呼び出すセクションをロードします
- 別のセクションをロードします (スタックから出るはずの古いセクション)。わかりました。メニューは表示されません
- アプリケーションを離れて (たとえば、Android Launcher アクティビティに移動)、戻ったときに正しいセクションが表示されますが、古いフラグメントのメニューが表示されています。
バックスタックを反復して各フラグメントを印刷しましたが、メニューのあるフラグメントではありません。
onResume() メソッド (setHasOptionsMenu(true)
フラグが立てられている場所) にデバッグ マークを付けると、実際にここに入るので、フラグメントはまだどこかにあります。
何か間違ったことをしているのか、どうすれば解決できるのか知りたいのですが、thx
アップデート:
このコードを使用して新しいフラグメントをロードしています
そして削除のために:
注 1:詳細セクションから戻るときにフラグメントの状態を失いたくないため、置換の代わりに追加を使用しています。別の別のセクションをロードするときは、clearStack を呼び出してスタックを 1 までポップしてから、新しいフラグメントをロードします。最後に、executePendingTransactions() を呼び出してトランザクションからフラグメントを削除します。
注 2:フラグメントの onDestroy() メソッドに入っていることがわかっているので、破棄されると思われます。しかし、メイン アクティビティが再開されたときに再度呼び出される理由がわかりません。