为什么我的导航抽屉菜单会自动打开其他活动而不单击按钮?

时间:2014-07-15 08:16:26

标签: android android-activity navigation-drawer

我所拥有的是左导航菜单,我使用导航抽屉,我希望它的按钮打开活动而不是片段..但奇怪的是,当主要活动打开,其中有菜单,它打开第二个活动直接而不显示主要活动..这是我的代码:

private void displayView(int position) {

    Intent intent = null;
    switch (position) {
    case 0:
        intent = new Intent(MainActivity.this, Gallery.class);
        break;
     ....
    if(intent != null) {
        mDrawerLayout.closeDrawer(mDrawerList);
        setTitle(navMenuTitles[position]);
        startActivity(intent);
    }
    else {
        // error in creating activity
        Log.e("MainActivity", "Error in creating Activity");
    }
}

我从这里叫它:

mDrawerLayout.setDrawerListener(mDrawerToggle);

        if (savedInstanceState == null) {
            // on first time display view for first nav item
            displayView(0);
        }
    }

为什么会发生这种情况?有谁可以帮助我?

2 个答案:

答案 0 :(得分:0)

通常,导航抽屉在活动开始时使用一些代码进行初始化(以显示其中一个项目/执行某些操作)。如果,当您开始持有此导航抽屉的活动时,您立即进入导航抽屉项目指向的其中一项活动,那么您需要检查您的代码,看看您是否有机会调用{{1活动开始时的方法(将启动另一个活动)。

答案 1 :(得分:0)

您是否在导航抽屉中实现了ListView?我有同样的问题,事实证明,当我为ListView设置我的适配器时,我正在使用

    `divListView.setAdapter(new ArrayAdapter<String>(getActivity(),
            android.R.layout.simple_list_item__activated_1,
            android.R.id.text1,
            divisionAda)); `

ListView已被激活&#34;使其获得焦点并在活动之上显示它。我通过删除&#34;激活&#34;。

解决了这个问题

所以现在我的设置我的适配器看起来像这样:

divListView.setAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, android.R.id.text1, divisionAda));