Где добавить меню для работы во всех видах деятельности - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть menu.xml и код для отображения меню на панели действий. Должен ли я добавить код в каждой деятельности? Потому что после этого я использую переключатель, чтобы получить клик и больше кода, поэтому я не думаю, что это правильный способ копировать и вставлять один и тот же код в каждое действие

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;

Есть ли лучший способ сделать это, чтобы работать во всех приложениях (все действия)?

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Создание класса BaseActivity.

public class BaseActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

    }

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

Теперь все действия, которые расширяют вашу базовую активность, будут иметь одно и то же меню.

0 голосов
/ 30 апреля 2018

это руководство для Меню Android это пример меню:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/new_game"
          android:icon="@drawable/ic_new_game"
          android:title="@string/new_game" />
    <item android:id="@+id/help"
          android:icon="@drawable/ic_help"
          android:title="@string/help" />
</menu>

А затем раздувать это в своей деятельности:

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

Когда нажал элемент:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
    case R.id.new_game:
        newGame();
        return true;
    case R.id.help:
        showHelp();
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}

удачи и прочитайте официальный документ для Android

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...