我目前正在开发一个Android应用程序。我想使用操作栏中的应用程序图标导航到“主页”活动。我在this页面上阅读了所有需要完成的工作,即添加一个onOptionsItemSelected
并查找编号android.R.id.home
。单击应用程序图标不会触发onOptionsItemSelected()
这是我在我的活动中实施的代码,我想要按应用程序图标返回到HomeActivity
。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case android.R.id.home:
Intent intent = new Intent(this, HomeActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
然而,没有任何反应。调试时,我可以看到点击图标根本不会触发onOptionsItemSelected()
。我需要在某个地方对图标做些什么吗?截至目前,这一切都默认情况下,仅这在AndroidManifest.xml
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
我只曾经试过响应添加到具有选项菜单的活动中的操作栏图标。暂时添加一个选项菜单,看看是否改变了你看到的行为。 – CommonsWare
还要考虑传递标志['FLAG_ACTIVITY_SINGLE_TOP',避免重新启动活动](http://stackoverflow.com/a/18658364/356895)。 – JJD
我的问题是我在'onOptionsItemSelected'我有'R.id.home'而不是'android.R.id.home'让我疯狂! – mbwasi