簡體   English   中英

導航抽屜和FragmentActivity

[英]Navigation Drawer and FragmentActivity

我是android開發的新手。 基本上,我有一個導航抽屜。 菜單之一將需要使用viewpager打開FragmentActivity。

這里的displayview功能

 /**
 * Diplaying fragment view for selected nav drawer list item
 * */
private void displayView(int position) {
    LAST_DISPLAY_POSITION = position;

    Fragment fragment = null;
    switch (position) {
    case 0:
        Intent in = new Intent(getApplicationContext(), TestFragmentActivity.class);
        startActivity(in);
        break;
    case 1:
        fragment = new MyAccountFragment();
        break;
    case 2:
        fragment = new TestFragment();
        break;
    case 3:
        fragment = new TestFragment();
        break;
    case 4:
        fragment = new TestFragment();
        break;

    default:
        break;
    }

    if (fragment != null) {
        FragmentManager fragmentManager = getFragmentManager();
        fragmentManager.beginTransaction()
                .replace(R.id.frame_container, fragment).commit();

        // update selected item and title, then close the drawer
        mDrawerList.setItemChecked(position, true);
        mDrawerList.setSelection(position);
        setTitle(navMenuTitles[position]);
        mDrawerLayout.closeDrawer(mDrawerList);
    } else {
        // error in creating fragment
        Log.e("MainActivity", "Error in creating fragment");
    }
}

如案例0所示,我只是調用startactivity打開視圖。 如何使用導航抽屜顯示FragmentActivity?

任何幫助將不勝感激。

編輯

我的activity_main.xml

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <!-- Framelayout to display Fragments -->

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

    <!-- Listview to display slider menu -->

    <ListView
        android:id="@+id/list_slidermenu"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="@color/list_background"
        android:choiceMode="singleChoice"
        android:divider="@color/list_divider"
        android:dividerHeight="1dp"
        android:listSelector="@drawable/list_selector" />

</android.support.v4.widget.DrawerLayout>

做一兩件事,現在你可能已經編寫了代碼NavigationDrawer在單一的活動說DisplayFragmentsActivity和你要去另一個活動TestFragmentActivity這必將讓你寫代碼NavigationDrawer該活動也加上,你需要管理所有其他的事情選擇菜單(如果要處理)。

因此,我建議將NavigationDrawer的代碼從DisplayFragmentsActivity移到新的MasterFragmentActivity然后將該活動擴展到DisplayFragmentsActivityTestFragmentActivity 因此,現在您將在兩個活動中使用相同的抽屜。

這樣可以解決問題。

您可能希望避免創建另一個活動的另一個建議,因為您正在使用片段,請嘗試僅使用單個活動。 嘗試找到一些替代品TestFragmentActivity

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM