-2

这是我的 OnOptionItemSelected() 和其他三种切换按钮的方法

这是我为 MainActivity 中的切换按钮编写的一段代码

         mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
            R.drawable.humberg, //nav menu toggle icon
            R.string.app_name, // nav drawer open - description for accessibility
            R.string.app_name // nav drawer close - description for accessibility
    ) {
        public void onDrawerClosed(View view) {
            getActionBar().setTitle(mTitle);
            // calling onPrepareOptionsMenu() to show action bar icons
            invalidateOptionsMenu();
        }

        public void onDrawerOpened(View drawerView) {
            getActionBar().setTitle(mDrawerTitle);
            // calling onPrepareOptionsMenu() to hide action bar icons
            invalidateOptionsMenu();
        }
    };
    mDrawerLayout.setDrawerListener(mDrawerToggle);
    // Drawer Item click listeners
    mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            selectItemFromDrawer(position);
        }

当我运行我的应用程序时,我遇到了错误,不幸的是您的应用程序已停止.. });这是我的 Logcat

4

2 回答 2

0

错误说:RelativeLayout不能强制转换DrawerLayoutClassCastException.

方法:

抛出以指示代码已尝试将对象强制转换为它不是实例的子类。

Java中“ClassCastException”的解释

或者,意味着您正在声明某种类型的变量/对象并将其分配给您定义的另一种类型

于 2016-01-23T08:54:39.227 回答
0

您的问题来自 onPrepareOptionMenu() 方法,实际上您没有为您的活动膨胀任何菜单文件,在设置显示或隐藏菜单项之前在此方法中膨胀您的自定义菜单文件。ps: sr 我的英语

于 2016-01-23T08:32:59.197 回答