Как добавить кнопку в 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); } 
    Давайте будем гением компьютера.