Barra.inflateMenu parece no hacer nada
Actualmente estoy jugando con la nueva biblioteca AppCompat que trae material design a dispositivos más antiguos.
Establecer una barra de herramientas como barra de acción funciona bien para mí, pero la barra de herramientas parece no hacer nada al llamar a inflateMenu(int resId)
. Desde los documentos, pensé que esto es para reemplazar getMenuInflater().inflate(int resId)
llamado desde onCreateOptionsMenu.
Si hago esto último, los elementos del menú se inflan correctamente y se agregan a la barra de herramientas, pero inflateMenu parece a nada.
¿Qué me estoy perdiendo?
Actividad Código:
Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.inflateMenu(R.menu.main); // this does nothing at all
setSupportActionBar(toolbar);
}
// this works
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
Gracias de antemano!
1 answers
Si está llamando a setSupportActionBar()
no necesita usar toolbar.inflateMenu()
porque la barra de herramientas está actuando como su barra de acción. Todas las devoluciones de llamada relacionadas con el menú son a través de las predeterminadas. La única vez que necesita llamar a toolbar.inflateMenu()
es cuando está utilizando la barra de herramientas como un widget independiente. En este caso, también tendrá que manejar los eventos de clic en el elemento de menú a través de
toolbar.setOnMenuItemClickListener(
new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
// Handle menu item click event
return true;
}
});
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-22 16:13:20