-2

これが私のOnOptionItemSelected()とトグルボタンの他​​の3つのメソッドです

これは、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

問題は onPrepareOptionMenu() メソッドに起因します。実際にはメニュー ファイルをアクティビティに膨張させず、このメソッドでカスタム メニュー ファイルを膨張させてから、メニュー項目の表示または非表示を設定します。ps: 私の英語の sr

于 2016-01-23T08:32:59.197 に答える
0

エラーは次のように述べています: にキャストすることRelativeLayoutはできません。DrawerLayoutClassCastException

意味:

コードがオブジェクトをインスタンスではないサブクラスにキャストしようとしたことを示すためにスローされます。

Javaでの「ClassCastException」の説明

または、あるタイプの変数/オブジェクトを宣言し、それを定義した別のタイプに割り当てることを意味します

于 2016-01-23T08:54:39.227 に答える