Как добавить кнопку в ActionBar (Android)?

Я хочу добавить кнопку в панель действий в правой части примера, как показано на этом снимке экрана:

скриншот из панели действий без кнопок. заголовок «Пример»

Я получаю actionBar в методе onCreate как:

ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); 

и назад (метод onOptionsItemSelected), как показано ниже:

 public boolean onOptionsItemSelected(MenuItem item){ Intent myIntent = new Intent(getApplicationContext(),MainActivity.class); startActivityForResult(myIntent, 0); return true; } 

Как добавить кнопку?

    вам нужно создать запись внутри res/menu, переопределить onCreateOptionsMenu и раздуть ее

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

    запись для меню может быть:

        

    onCreateOptionsMenu() заполняет ActionBar в onCreateOptionsMenu() .

    Вместо использования setcustomview() просто переопределите onCreateOptionsMenu следующим образом:

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

    Если выбраны действия в ActionBar, onOptionsItemSelected() метод onOptionsItemSelected() . Он принимает выбранное действие в качестве параметра. Основываясь на этой информации, вы можете решить, что делать, например:

     @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menuitem1: Toast.makeText(this, "Menu Item 1 selected", Toast.LENGTH_SHORT).show(); break; case R.id.menuitem2: Toast.makeText(this, "Menu item 2 selected", Toast.LENGTH_SHORT).show(); break; } return true; } 

    Благодаря @Blackbelt! Новая сигнатура метода для раздувания меню такова:

     @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.my_meny, menu); } 
    Interesting Posts

    Как распечатать документы в формате pdf

    Maven Не удалось разрешить зависимости, артефакты не могут быть разрешены

    В каком порядке панели наиболее эффективны с точки зрения времени и производительности?

    Как определяется размер classа C ++?

    Селеновая grid: MaxSessions против MaxInstances

    Изменение размера приращения громкости звука клавиш «громкость» / «уменьшение громкости»

    Изменение файла hosts на снежном барсе

    Каков самый быстрый способ транспонирования матрицы в C ++?

    Цикл ‘for’ для итерации по перечислению в Java

    В верхнем левом углу отображаются изображения ConstraintLayout

    Как удалить разрывы строк из файла в Java?

    Как создать обратный вызов JavaScript для получения информации о загрузке изображения?

    Где userChrome.css?

    Как сериализовать Java-примитивы с помощью Jersey REST

    В чем разница между переопределением виртуальных функций и скрытием не виртуальных функций?

    Давайте будем гением компьютера.