Android 主页未在片段可见性上隐藏

Android 主页未在片段可见性上隐藏,android,android-layout,android-activity,android-fragments,navigation-drawer,Android,Android Layout,Android Activity,Android Fragments,Navigation Drawer,首先我创建了所有的布局,然后用按钮将它们链接起来。当我在片段中创建导航菜单时,我已经创建了另一个类扩展片段,并将它们链接到我创建的布局。当我点击片段时,导航菜单会显示出来,但是主页并没有隐藏。我试图通过在线搜索解决问题,我确实喜欢youtube教程上的视频,但仍然没有解决 MainActivity.java @SuppressLint("NewApi") public class MainActivity extends Activity { private DrawerLayout

首先我创建了所有的布局,然后用按钮将它们链接起来。当我在片段中创建导航菜单时,我已经创建了另一个类扩展片段,并将它们链接到我创建的布局。当我点击片段时,导航菜单会显示出来,但是主页并没有隐藏。我试图通过在线搜索解决问题,我确实喜欢youtube教程上的视频,但仍然没有解决

MainActivity.java

@SuppressLint("NewApi")
public class MainActivity extends Activity  {
    private DrawerLayout mDrawerLayout;
    private ListView mDrawerList;
    private ActionBarDrawerToggle mDrawerToggle;
    private CharSequence mDrawerTitle;
    private CharSequence mTitle;
    CustomDrawerAdapter adapter;
    List<DrawerItem> dataList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button btnNextScreen = (Button) findViewById(R.id.button1);
        btnNextScreen.setOnClickListener(new View.OnClickListener() {

            public void onClick(View arg0) {
                Intent nextScreen = new Intent(getApplicationContext(), Layout1.class);
                startActivity(nextScreen);
            }
        });
        Button btnNextScreen2 = (Button) findViewById(R.id.button2);
        btnNextScreen2.setOnClickListener(new View.OnClickListener() {

            public void onClick(View arg0) {
                Intent nextScreen = new Intent(getApplicationContext(), Layout2.class);
                startActivity(nextScreen);

            }
        });


        // Initializing
        dataList = new ArrayList<DrawerItem>();
        mTitle = mDrawerTitle = getTitle();
        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
        mDrawerList = (ListView) findViewById(R.id.left_drawer);

        mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow,
                GravityCompat.START);

        // Add Drawer Item to dataList
        dataList.add(new DrawerItem(true)); // adding a spinner to the list

        dataList.add(new DrawerItem("Normal")); // adding a header to the list
        dataList.add(new DrawerItem("Sign In", R.drawable.ic_action_email));
        dataList.add(new DrawerItem("Promotions",R.drawable.ic_action_good));

        dataList.add(new DrawerItem("The Best"));
        dataList.add(new DrawerItem("Store",R.drawable.ic_action_search));
        dataList.add(new DrawerItem("Dish",R.drawable.ic_action_search));


        adapter = new CustomDrawerAdapter(this, R.layout.custom_drawer_item,
                dataList);

        mDrawerList.setAdapter(adapter);

        mDrawerList.setOnItemClickListener(new DrawerItemClickListener());

        getActionBar().setDisplayHomeAsUpEnabled(true);
        getActionBar().setHomeButtonEnabled(true);

        mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
                R.drawable.ic_drawer, R.string.drawer_open,
                R.string.drawer_close) {
            public void onDrawerClosed(View view) {
                getActionBar().setTitle(mTitle);
                invalidateOptionsMenu(); // creates call to
                                            // onPrepareOptionsMenu()
            }

            public void onDrawerOpened(View drawerView) {
                getActionBar().setTitle(mDrawerTitle);
                invalidateOptionsMenu(); // creates call to
                                            // onPrepareOptionsMenu()
            }
        };

        mDrawerLayout.setDrawerListener(mDrawerToggle);

        if (savedInstanceState == null) {

            if (dataList.get(0).isSpinner()
                    & dataList.get(1).getTitle() != null) {
                SelectItem(2);
            } else if (dataList.get(0).getTitle() != null) {
                SelectItem(1);
            } else {
                SelectItem(0);
            }
        }

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    public void SelectItem(int possition) {

        Fragment fragment = null;
        Bundle args = new Bundle();
        switch (possition) {

        case 2:
            fragment = new FragmentLayout2();
            break;
        case 3:
            fragment = new FragmentLayout1();
            break;
        case 4:
            fragment = new FragmentTwo();
            break;
        case 5:
            fragment = new FragmentLayout2();
            break;
        case 6:
            fragment = new FragmentLayout1();
            break;
        default:
            break;
        }
        fragment.setArguments(args);
        FragmentManager frgManager = getFragmentManager();
        frgManager.beginTransaction().replace(R.id.content_frame, fragment)
                .commit();

        mDrawerList.setItemChecked(possition, true);
        setTitle(dataList.get(possition).getItemName());
        mDrawerLayout.closeDrawer(mDrawerList);
    }

    private class DrawerItemClickListener implements
            ListView.OnItemClickListener {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
            if (dataList.get(position).getTitle() == null) {
                SelectItem(position);
            }

        }
    }
}
Fragmentlayout1.java

public class Layout1 extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout1);

        Button btnClose = (Button) findViewById(R.id.button1);

        btnClose.setOnClickListener(new View.OnClickListener() {

            public void onClick(View arg0) {
                finish();
            }
        });

    }

}
@SuppressLint("NewApi")
public class FragmentLayout1 extends Fragment{
    public FragmentLayout1() {

    }
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.layout1, container,
                false);
        return view;
    }

}
activity_main.xml

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

    <RelativeLayout
        android:id="@+id/content_Relative"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

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

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:text="Home page"
                android:textAppearance="?android:attr/textAppearanceLarge" />

        </FrameLayout>

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="58dp"
            android:layout_marginTop="88dp"
            android:text="Button to layout 1" />

        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/button1"
            android:layout_below="@+id/button1"
            android:layout_marginTop="28dp"
            android:text="Button to layout 2" />

    </RelativeLayout>

    <ListView
        android:id="@+id/left_drawer"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="#ffff"
        android:choiceMode="singleChoice"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp" />

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

我已经试着想办法解决这个问题4天了,但仍然没有结果,这是一个小组的项目,其他成员都做了布局,并将它们与按钮布局联系起来。有人能给我一些想法吗?

用活动代替片段

public void SelectItem(int possition) {
        Intent intent;
        switch (possition) {

        case 2:
            intent = new Intent(getApplicationContext(), Layout2.class);
            startActivity(intent);
            break;
        case 3:
            intent = new Intent(getApplicationContext(), Layout1.class);
            startActivity(intent);
            break;
        case 5:
            intent = new Intent(getApplicationContext(), Layout2.class);
            startActivity(intent);
            break;
        case 6:
            intent = new Intent(getApplicationContext(), Layout1.class);
            startActivity(intent);
            break;
        default:
            break;
        }

        mDrawerList.setItemChecked(possition, true);
        setTitle(dataList.get(possition).getItemName());
        mDrawerLayout.closeDrawer(mDrawerList);
    }