您好我无法找到问题的答案。我正在使用工具栏,所以我在OnCreate中创建它,如下所示:
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;
}
});
但是我注意到如果我使用了很多选项,我的OnCreate变得非常mesy。我喜欢订单,所以我用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;
}
};
然后在我的OnCreate工具栏上:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
//setSupportActionBar(toolbar);
toolbar.setTitle("Quitar esta wea");
toolbar.inflateMenu(R.menu.menu_examen);
toolbar.setOnMenuItemClickListener(toolbarListener);
这是有效但这是正确的吗?这有名字吗?谢谢。我知道这是一个简单的问题,但我想要正确
答案 0 :(得分:0)
更好的是,如果没有额外的变量,你可以做得更好,如
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;
}
}