Создайте класс (скажем, BaseActivity ), который расширяет действие, и переопределите функции onCreateOptionsMenu
и onOptionsItemSelected
.
public class BaseActivity extends Activity {
// Activity code here
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.item:
// do what you want here
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
Теперь, в других 15-16 действиях,вместо того, чтобы расширять действие, вы должны расширить BaseActivity .
public class FooActivity extends BaseActivity {
// Activity code here
}
Таким образом, все ваши действия выводят меню параметров.Для действий, для которых необходимо отключить меню параметров, вы можете переопределить его снова в этом конкретном упражнении.
public class BarActivity extends BaseActivity {
// Activity code here
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Do Nothing
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Do Nothing
}
}
Надеемся, это не вызовет проблем в файле манифеста.