【问题标题】:How to make my ActionBar Toggle button to work in my Application?如何让我的 ActionBar 切换按钮在我的应用程序中工作?
【发布时间】:2016-01-23 07:48:35
【问题描述】:

这是我为 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);
        }

当我运行我的应用程序时,我收到错误,不幸的是,您的应用程序已停止。 });

【问题讨论】:

    标签: java android android-layout android-actionbar android-togglebutton


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      错误提示:RelativeLayout 不能转换为 DrawerLayout,它是 ClassCastException

      意思:

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

      Explanation of "ClassCastException" in Java

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

      【讨论】:

        猜你喜欢
        • 2014-11-07
        • 2022-12-11
        • 2019-08-09
        • 2015-12-25
        • 1970-01-01
        • 2021-02-25
        • 2012-06-13
        • 1970-01-01
        • 2015-06-14
        相关资源
        最近更新 更多