操作栏 home/up 按钮实际 ID 不同于 R.id.home
Actionbar home/up button actual id differs from R.id.home
我有一个荒谬的问题!我想处理操作主页按钮,但是当我点击主页按钮时传递给 onOptionsItemSelected
方法的 MenuItem
不是 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
有什么想法吗?
您缺少“android”前缀。向上按钮的 id
实际上是 android.R.id.home
,而不是 R.id.home
。
你像处理主页按钮一样
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if(id==android.R.id.home){
/*Do your code here*/
}
}
我有一个荒谬的问题!我想处理操作主页按钮,但是当我点击主页按钮时传递给 onOptionsItemSelected
方法的 MenuItem
不是 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
有什么想法吗?
您缺少“android”前缀。向上按钮的 id
实际上是 android.R.id.home
,而不是 R.id.home
。
你像处理主页按钮一样
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if(id==android.R.id.home){
/*Do your code here*/
}
}