問題タブ [fragment-backstack]

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 に答える
1438 参照

android - AndroidでBackStackからフラグメントをロードする方法

フラグメントに 4 つのボタンがあります。ボタン「A」をクリックすると、フラグメントがロードされます。ボタン「B」をクリックすると、別のフラグメントがロードされます。私の問題は、もう一度ボタンをクリックしたときです。新しいフラグメントがロードされています。backStack から前のフラグメントをロードしたい。

では、どうすればそれを達成できますか?

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

android - Androidのバックプレスされたフラグメントからメニューを削除する方法

電話とタブレットの両方でサポートする必要があるアプリケーションを開発しています。このアプリケーションでは、Android のフラグメントを使用しています。

申し込みの流れはこんな感じ

MainActivity --> Fragment1 --> Fragment2

このアプリケーションでは、アクティビティのメニュー項目とともに Fragment2 にのみ表示されるメニュー項目が必要です。

だから私は、MainActivity に globle メニュー項目を追加し、Fragment2 に MainActivity のメニュー全体を Fragment2 固有のメニューに置き換えるような 1 つの解決策を試しました。

onCreateView 内で、このメソッドを実装します。

今では電話のレイアウトでは問題なく機能しますが、タブレットになると問題が発生します。

これが私のスクリーンショットです。

フラグメント 1 ここに画像の説明を入力

キーボードで 9 を押したときの Fragment 1 と Fragment 2 の組み合わせ (タブレット モード)。 ここに画像の説明を入力

最後に、もう一度 9 を押して pHone ビューに戻ると、追加のメニュー項目が表示されます。

ここに画像の説明を入力

Image で余分なメニュー項目をマークしました。では、なぜこの私が来るのか、どうすれば解決できますか?

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

android - バックスタックが期待どおりに機能しない

アクティビティ A と B があり、どちらも BaseActivity クラスから継承しています。アクティビティ A はいくつかのフラグメントを処理し、そのうちの 1 つからアクティビティ B が開始されます。Activiy BI の onCreate メソッドで、次のメソッドを呼び出します。

Base Activity クラスによって受信されます。

そのため、ExampleFragment がアクティビティに追加され、下のアニメーションからスライドインして表示されます。次に、ExampleFragment は同じメソッドを Example2Fragment に呼び出しますが、次のように削除する前に

Example2Fragment から呼び出します。両方のトランザクションがバックスタックに追加されることを強調したいと思います。これまでのところ問題はありませんが、問題はバックスタック ボタンを押したときです。予期される動作が ExampleFragment に到達すると、フラグメントのない空のアクティビティに戻ります

バックスタックは実際にどのように機能しますか? ここで何が欠けていますか?

ありがとう

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

android - Fragment バックスタックの ListView はまだ getView() を呼び出しています

別のsayを含む別の Fragment を追加すると、 sayFragmentを含む a があります。ListViewFragmentAListViewFragmentB

最上位のフラグメントが now であるにもかかわらず、getView()ofがまだ呼び出さListViewれていることに気付きました。この動作を防ぐ理由と方法を教えてください。FragmentAFragmentB

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

android - Androidでバックスタックを使用する

Android のフラグメント ナビゲーションに問題があります。あるフラグメントから別のフラグメントへ、またそのフラグメントから別のフラグメントへとナビゲートしています。戻るボタンを押すと、3 番目のフラグメントから最初のフラグメントに移動する必要があります。バックスタックからの 2 番目のフラグメントを避ける必要があります。

FragmentManagerにフラグメントを追加するために使用しているコードは次のとおりです

助けてください

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

android - PopBackStack ただし、最初のフラグメントを Android に保持する

私はフラグメントトランザクションに取り組んでおり、バックスタックは次のようになります:

fragD から戻った後、fragA に戻りたい

だから、私は次のようなコードを試しました:

しかし、すべてのバックスタックをクリアします。どうすれば最初のフラグメントをバックスタックに保持できますか? どうもありがとう

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

android - 戻るボタンを押しても追加されたフラグメントが表示されない

活動をしています。開始すると、replace を使用して onCreate に Fragment A をロードします。これはバックスタックには追加されません。

次に、オーバーレイであるフラグメント B を前のフラグメントの上に追加します。これは、フラグメント B の背景が半透明であるため、フラグメント A をその背後に表示できるようにしたいためです。これは add を使用してロードされ、バックスタックに追加されます。

フラグメント B から、置換を使用してフラグメント C を読み込み、バック スタックに追加します。これは、フラグメント C がフラグメント B のようなオーバーレイではないためです。フラグメント C にいるときは、バック プレスでフラグメント B に戻りたいと考えています。バックプレスをオーバーライドして、バックスタックをポップします。

問題は、[戻る] ボタンを押すと、フラグメント B ではなくフラグメント A が表示されることです。デバッグしたにもかかわらず、バック スタックにフラグメント B が表示されます。どうしてこれなの?

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

android - android バックスタックをポップする前に次のフラグメントを表示

互いに置き換え続けるフラグメントがいくつかあります (トランザクションがバックスタックに追加されます)。ある時点でのユーザーの操作に応じて、以前のフラグメントのすべて (または一部) をクリアし、新しいフラグメントを 1 つだけ表示する必要があります。

これを行うには、現在、popBackStack()最初にそれらをクリアしてから を実行しますreplace()。これは期待どおりに機能します。ただし、新しいフラグメントが表示される前に、前のフラグメントのフラッシュが発生することがあります。これは、新しいフラグメントを表示する前に最初にバックスタックをポップしているためだと思います。

だから、最初に新しいフラグメントを表示してから、以前のトランザクションのバックスタックをクリアする簡単な方法があるかどうか疑問に思っていますか?