[解決済み] 断片の中の断片
質問
実はAndroid APIのバグなのでは?
このような設定にしています。
┌----┬---------┐
| | |
| 1 | 2 |
| |┌-------┐|
| || ||
| || 3 ||
└----┴┴-------┴┘
- 右ペインにフラグメント#2(検索画面)をロードするメニューです。
- は検索画面であり、結果一覧であるフラグメント#3が含まれています。
- 結果リストは、いくつかの場所で使用されています(それ自体で機能する高レベルのフラグメントとして使用されることもあります)。
この機能は携帯電話でも完全に動作します(1 & 2と3が
ActivityFragment
s).
ところが、このコードを使うと
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
Fragment frag = new FragmentNumber2();
if(toLoad != null) frag.setArguments(toLoad);
transaction.replace(R.id.rightPane, frag);
transaction.commit();
ここで
R.id.leftPane
と
R.id.rightPane
は
<fragment>
を横一列に並べています。
上記のコードでは、常駐しているフラグメントを削除し、新しいフラグメントに置き換えていると理解しています。すばらしい・・・。このコードを2回目に実行すると、次のような例外が発生するからです。
07-27 15:22:55.940: ERROR/AndroidRuntime(8105): Caused by: java.lang.IllegalArgumentException: Binary XML file line #57: Duplicate id 0x7f080024, tag null, or parent id 0x0 with another fragment for FragmentNumber3
これは、FragmentNumber3のコンテナが複製され、ユニークなIDを持たなくなったために起こります。新しいフラグメントが追加される前に、最初のフラグメントが破壊されていない(私の考えでは、それはつまり 置き換え ).
誰か教えてくれませんかね( この回答 それともバグですか?
解決方法は?
ネストされたフラグメントは現在サポートされていません。 他のフラグメントの UI 内にフラグメントを配置しようとすると、未定義の動作になり、破損する可能性が高くなります。
<ブロッククオート更新 : ネストされたフラグメント がサポートされています。 Android 4.2 (およびAndroid Support Library rev 11)時点のものです。 http://developer.android.com/about/versions/android-4.2.html#NestedFragments
ノート
(による
このドキュメント
): "
注:レイアウトがフラグメントに含まれる場合、そのレイアウトを膨らませることはできません。
<fragment>
. ネストされたフラグメントは、動的にフラグメントに追加された場合のみサポートされます。
"
関連
-
[解決済み】フラグメントMyFragmentがアクティビティにアタッチされない。
-
AndroidがMainActivityが包含クラスでないというエラーを報告する
-
Androidの美しいSeekBarスタイルのカスタマイズ
-
Android Get set image.setImageResource(R.drawable.xxx) リソース
-
Android.support.v7.widget.Toolbar が見つかりませんでした。
-
android.content.ActivityNotFoundException を解決します。Intent問題を処理するActivityが見つからない
-
[解決済み] なぜフラグメントなのか、そしてアクティビティの代わりにフラグメントを使用するのはどんなときか?
-
[解決済み] フラグメントのインスタンス状態をバックスタックに正しく保存する方法は?
-
[解決済み] ViewPagerとフラグメント - フラグメントの状態を保存する正しい方法は何ですか?
-
[解決済み】フラグメント内のXML onClickを使用して、ボタンのクリックを処理する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Gradle のエラーです。gradle-core.jar (com.android.tools.build:gradle-core:x.x.x) を見つけられませんでした。
-
Androidで発生した問題、解決策とヒント
-
Android: インポートモジュールエラー Android リソースのリンクに失敗しました
-
アンドロイドスタジオでJunitのエラー問題を解決する
-
アンドロイドスタジオのエラーを解決する --> Error:(1, 0) id 'com.android.application' を持つプラグインが見つかりません。
-
GoogleMapと連携し、位置情報の取得が可能
-
アンドロイドスタジオ学習入門
-
AndroidStudioのショートカット 検索/置換
-
アプリの実行エラー。ターゲットデバイスが見つからない問題
-
[解決済み] フラグメント・イン・フラグメント