#android
#Android
Вопрос:
Пожалуйста, помогите мне, как я могу вызвать ресурс меню в другом действии. Вот код основного действия
public class ControlMenu extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.settings:
Intent intent = new Intent(this, ShowSettings.class);
startActivity(intent);
break;
case R.id.services: Toast.makeText(this, "You pressed the text!", Toast.LENGTH_LONG).show();
break;
case R.id.another:
}
return true;
}
вот ресурс меню
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@ id/Quit"
android:title="Quit"
android:icon="@drawable/icon" />
<item android:id="@ id/settings"
android:title="Settings"
android:icon="@drawable/icon" />
<item android:id="@ id/services"
android:title="Services"
android:icon="@drawable/icon" />
</menu>
я могу вызвать это в другом действии, написав основной код действия, но для этого мне также нужно переписать операторы case, так что подскажите мне, как я могу это решить.
Ответ №1:
Вы должны иметь возможность добавить код меню в общий подкласс Activity, а затем заставить все ваши другие классы Activity расширять этот общий класс вместо просто Activity. Для простого меню это должно работать просто отлично.