我有一个实现OnClickListener的活动,我正在处理onclick事件,如下面的代码:
@H_502_2@void onClick(View v){
final int id = v.getId();
switch(id){
case R.id.xxx:
break;
}
}
现在我也有一个工具栏,所以我也想以这种方式处理工具栏导航按钮点击事件:
@H_502_2@toolbar.setNavigationOnClickListener(this);但我不知道工具栏导航按钮的ID.我怎么才能得到它?
解决方法
如果工具栏被用作ActionBar,则视图ID将是android.R.id.home,您将使用onOptionsItemSelected(…)来知道何时按下它.
如果它没有被用作ActionBar,则视图id为-1,没有定义相应的id资源.
这意味着您必须使用setNavigationOnClickListener(),但是在以下两种方法之一中:
之一:
@H_502_2@toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { ... } });要么
@H_502_2@private View.OnClickListener homeClickListener = new View.OnClickListener() { @Override public void onClick(View view) { ... } }; @Override protected void onCreate(...) { ... toolbar.setNavigationOnClickListener(homeClickListener); ... }