Я начинаю разрабатывать приложение для Android. В моем приложении у меня есть главное меню со многими опциями.Android-ассоциированный класс в верхнем меню
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
app:showAsAction="never"/>
<item android:id="@+id/action_languages"
android:title="@string/action_laguages"
app:showAsAction="never"/>
<item android:id="@+id/action_notifications"
android:title="@string/action_notification"
app:showAsAction="never"
android:checkable="true"
android:checked="true"/>
</menu>
Я знаю, как создать верхнее меню и связать его с деятельностью.
@Override
public boolean onCreateOptionsMenu(Menu menu){
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.topmenu, menu);
return true;
}
Я знаю, как выполнять код посредством действия меню.
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()) {
case R.id.action_languages:
Intent languages = new Intent(this, TeamProject_Languages.class);
this.startActivity(languages);
return true;
case R.id.action_notifications:
if((item != null) && (item.isCheckable()) && (item.isChecked())){
item.setChecked(false);
}else if((item != null) && (item.isCheckable()) && (!item.isChecked())){
item.setChecked(true);
}
return true;
case R.id.action_settings:
Intent settings = new Intent(this, TeamProject_Settings.class);
this.startActivity(settings);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
Но я хочу знать, можно ли связать класс с этим меню. Это, чтобы написать код juste один раз, а не во всех действиях, когда мне нужно его использовать. Если возможно, кто-нибудь может сказать мне, как это сделать? В лучшем случае я просто хочу написать код, который позволяет связать меню с классом активности.
Заранее за вашу помощь.