我在目录/ res / menu /中创建了一个文件option_menu.xml:

我创建了一个包含以下代码的文件menu.java:

  @Override
public boolean onCreateOptionsMenu(Menu menu) {
     MenuInflater inflater = getMenuInflater();
     inflater.inflate(R.menu.option_menu, menu);
     return true;
}


在哪里可以将这些代码用于菜单工作?(在menu.java中?

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.nelp:
            help();
            return true;
        case R.id.quit:
           quit();

        default:
            return super.onOptionsItemSelected(item);
    }
}


我的应用程序包含4个Java文件

我希望可以在任何活动中访问菜单。

先感谢您

最佳答案

如果希望在多个活动中运行相同的代码,则可以创建一个从Activity派生的基类,然后从新的基类派生自己的Activity类。该代码将放在该类中。

public class ActivityBase extends Activity {

@Override
public boolean onCreateOptionsMenu(Menu menu) {
     MenuInflater inflater = getMenuInflater();
     inflater.inflate(R.menu.option_menu, menu);
     return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.nelp:
            help();
            return true;
        case R.id.quit:
           quit();

        default:
            return super.onOptionsItemSelected(item);
    }
}

}


您的活动来自ActivityBase:

public class MyActivity extends ActivityBase { ...

10-07 19:31
查看更多