Ответ 1
Создайте класс (скажем BaseActivity), который расширяет Activity и переопределяет функции 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
}
}
Надеюсь, это не даст вам проблем в файле манифеста.