2

注: クラス ProcessingOptionMenu には独自のレイアウトがありません。レイアウトのないクラスは、以下のクラス ProcessingOptionMenu が新しいアクティビティ SettingABC を開始するような別のアクティビティを開始できますか

アクティビティ A { ..

        public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.second_menu, menu);
        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        ProcessingOptionMenu objectMenu= new ProcessingOptionMenu();
        boolean resultReturn=objectMenu.identifyItem(item);
       }
                ..
}

Activity B {
               ..

        public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.second_menu, menu);
        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        ProcessingOptionMenu objectMenu= new ProcessingOptionMenu();
        boolean resultReturn=objectMenu.identifyItem(item);
       }
             ..
}


class ProcessingOptionMenu extends Activity {
    public boolean identifyItem(MenuItem item) {
            if (item.getItemId() == R.id.settingapp) {
        Intent intentAppSetting = new Intent(ProcessingOptionMenu.this,                        SettingABC.class);
            startActivity(intentAppSetting);
            return true;
        }
        return false;
        }
}
4

1 に答える 1

2

Activity から拡張されたクラスが必要なのはなぜですか? クリック イベントを処理するメソッドを作成し、その中で新しいアクティビティを起動するだけです。必要に応じて、このメソッドを親クラスに配置して、アクティビティ A と B をそこから拡張できます。

于 2013-04-04T09:37:06.753 に答える