http://developer.android.com/training/implementing-navigation/nav-drawer.htmlのガイドラインを使用して、DrawerLayout を持つアクティビティを取得しました。
drawerItem をクリックすると、現在のビューが新しいフラグメントに置き換えられます。
Fragment fragment;
Bundle args = new Bundle();
fragment = new NewsListFragment();
args.putInt("category", position);
// Insert the fragment by replacing any existing fragment
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.content_frame, fragment)
.commit();
mDrawerList.setItemChecked(position, true);
現在、古いフラグメントが置き換えられず、新しいフラグメントが古いフラグメントの上に配置される場合があります。
http://img15.imageshack.us/img15/3179/1kqj.png
これはなぜですか、この問題を解決するにはどうすればよいですか?
関連する XML:
<!-- The main content view -->
<LinearLayout
android:id="@+id/rlMain"
android:layout_width="fill_parent"
android:orientation="vertical"
android:layout_height="fill_parent">
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
</FrameLayout>
これは時々しか発生せず、これを再現するフローはまだ見つかっていません。アプリは回転をサポートしていないため、回転は発生しません。