Hello I can't found an answer to my question. I am using a Toolbar, so I create it in OnCreate like this:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("Toolbar");
toolbar.inflateMenu(R.menu.menu_examen);
toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
return false;
}
});
But I noticed that if I use a lot of options my OnCreate becomes very mesy. I love order so I made this listener out of OnCreate:
Toolbar.OnMenuItemClickListener toolbarListener = new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()){
case R.id.opcion1:
Toast.makeText(ExamenActivity.this,"Opcion 1",Toast.LENGTH_SHORT).show();
break;
default:
}
return false;
}
};
And then on my OnCreate the toolbar is:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
//setSupportActionBar(toolbar);
toolbar.setTitle("Quitar esta wea");
toolbar.inflateMenu(R.menu.menu_examen);
toolbar.setOnMenuItemClickListener(toolbarListener);
This is working but Is this correct? Does this have a name? Thank you. I know it is a simple question but I want to it right
Yea that is better, you can do it even better without extra variable as in
class YourActivity extends Activity implements Toolbar.OnMenuItemClickListener{
onCreate(){
...
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
//setSupportActionBar(toolbar);
toolbar.setTitle("Quitar esta wea");
toolbar.inflateMenu(R.menu.menu_examen);
toolbar.setOnMenuItemClickListener(this);
...
}
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()){
case R.id.opcion1:
Toast.makeText(ExamenActivity.this,"Opcion 1",Toast.LENGTH_SHORT).show();
break;
default:
}
return false;
}
}