0

のレイアウトにFrameLayout要素があり、MainActivity複数のタイプの「接続ポイント」として使用されFragmentsます。

意見:

 <FrameLayout
   android:id="@+id/main_content"
   android:layout_width="match_parent"
   android:layout_height="match_parent" />

フラグメントの置換:

 Fragment fragment = new CoursesFragment();
 getFragmentManager().beginTransaction().replace(R.id.main_content, fragment).commit();

今、私は main_content を直接変更する必要がある状況にありますCoursesFragment(フラグメントが独自のビューを置き換えます)。これを行うための最良のアプローチは何ですか? 安全ですか?のコンテキストにアクセスMainActivityして変更することはできますが、それが正しい方法かどうかはわかりません。

4

1 に答える 1

2

あなたのビューが何であるかはわかりませんが、最も簡単な方法は、「もう一方のビュー」を on に設定しながら、両方のビューを独自の ViewGroup 内に提供することsetVisibility(View.GONE)です。切り替える必要がある場合は、最初に表示されたビューをView.GONEに、2 番目のビューを に設定しView.VISIBLEます。

hideこの方法では、アクティビティのコンテキスト、またはフラグメント マネージャーとshowメソッドをいじる必要はありません。

于 2013-10-14T00:35:50.667 に答える