Android 開発では、アクティビティ グループ内のフラグメントを置換するには、標準のアクティビティとは異なるアプローチが必要です。この問題を克服し、フラグメントを正常に置換する方法は次のとおりです:
制限事項の理解:
XML に埋め込まれたフラグメントは動的に置換できません。フラグメント置換を有効にするには、実行時に動的に追加する必要があります。
動的フラグメント置換:
既存のフラグメントを新しいフラグメントで置換するには:
新しいフラグメント インスタンスを作成します:
Fragment newFragment = new SectionDescriptionFragment();
フラグメント トランザクションを開始します:
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
対象のコンテナを新しいコンテナと交換します。フラグメント:
transaction.replace(R.id.fragment_container, newFragment);
オプションで、ナビゲーション履歴のバックスタックにトランザクションを追加します:
transaction.addToBackStack(null);
を実行しますトランザクション:
transaction.commit();
コンテナ ID の確認:
フラグメント コンテナには一意の ID が必要ですXML レイアウト内で。この ID は、フラグメントを置換するときに使用する必要があります。
アクションに応じた呼び出し:
あなたの場合、項目が水平方向にあるときにフラグメントを置換したいと考えています。スクロールビューをタップします。アイテムのクリック リスナー内でフラグメント置換コードを呼び出します。
次の手順に従うことで、アクティビティ グループ内のフラグメントを正常に置換し、必要に応じて状態の変更を維持できます。このシナリオでは、フラグメントを XML に埋め込むのではなく、動的に追加することを忘れないでください。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3