工具栏监听器的正确使用方法
Correct way to use Toolbar Listener
您好,我找不到问题的答案。我正在使用工具栏,所以我在 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 会变得非常混乱。我喜欢秩序,所以我用 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);
这是有效的,但这是正确的吗?这个有名字吗谢谢你。我知道这是一个简单的问题,但我想做对
是的,更好,你可以做得更好,不需要额外的变量,如
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;
}
}
您好,我找不到问题的答案。我正在使用工具栏,所以我在 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 会变得非常混乱。我喜欢秩序,所以我用 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);
这是有效的,但这是正确的吗?这个有名字吗谢谢你。我知道这是一个简单的问题,但我想做对
是的,更好,你可以做得更好,不需要额外的变量,如
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;
}
}