poner - menu toolbar android
¿Cómo agregar botón en ActionBar(Android)? (3)
Quiero agregar un botón a la barra de acción a la derecha del ejemplo como en esta captura de pantalla:
Obtuve ActionBar en el método onCreate como:
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
y botón Atrás (método OnOptionsItemSelected) como se muestra a continuación:
public boolean onOptionsItemSelected(MenuItem item){
Intent myIntent = new Intent(getApplicationContext(),MainActivity.class);
startActivityForResult(myIntent, 0);
return true;
}
¿Cómo puedo agregar el botón?
¡Gracias a @Blackbelt! La nueva firma de método para inflar el menú es esta:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.my_meny, menu);
}
Una actividad rellena ActionBar en su método onCreateOptionsMenu()
.
En lugar de usar setcustomview()
, simplemente anule onCreateOptionsMenu
esta manera:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.mainmenu, menu);
return true;
}
Si se seleccionan acciones en ActionBar, se llama al método onOptionsItemSelected()
. Recibe la acción seleccionada como parámetro. En función de esta información, su código puede decidir qué hacer, por ejemplo:
@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;
}
tienes que crear una entrada dentro de res/menu,
anular onCreateOptionsMenu
e inflarlo
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.yourentry, menu);
return true;
}
una entrada para el menú podría ser:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_cart"
android:icon="@drawable/cart"
android:orderInCategory="100"
android:showAsAction="always"/>
</menu>