Actionbar home / up按钮实际id与R.id.home不同

时间:2015-11-19 20:44:50

标签: java android android-actionbar menuitem

我有一个荒谬的问题!我想处理操作主页按钮,但当我点按主页按钮时,MenuItem传递给onOptionsItemSelected方法不是R.id.home(也不是R.id.homeAsUp)。

    public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    Log.v("1111", "MenuItem id: "+id);
    Log.v("1111", "home id: "+R.id.home);
    Log.v("1111", "homeAsUp id: "+R.id.homeAsUp);
    ...
    }

日志:

11-19 23:58:56.433: V/1111(30059): MenuItem id: 16908332
11-19 23:58:56.433: V/1111(30059): home id: 2131296256
11-19 23:58:56.433: V/1111(30059): homeAsUp id: 2131296270

有什么想法吗?

2 个答案:

答案 0 :(得分:5)

您缺少' android '前缀。 “向上”按钮id实际上是android.R.id.home,而不是R.id.home

答案 1 :(得分:1)

您可以处理

之类的主页按钮
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if(id==android.R.id.home){
         /*Do your code here*/
    }
}