我正在使用ActionBarSherlock库,我按照建议here和here的具体步骤启用导航到上一个屏幕。
我的代码如下所示:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
和
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// This callback is used only when mSoloFragment == true (see
// onActivityCreated above)
switch (item.getItemId()) {
case android.R.id.home:
// App icon in Action Bar clicked; go up
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); // Reuse the
// existing
// instance
startActivity(intent);
return true;
default:
return super.onOptionsItemSelected(item);
}
但是R.id.home不被识别,而且主页显示为红色。 : - /如果我使用本机操作栏,则home声明将我带到ids.xml文件。但是在这里使用ActionBarSherlock Activity时找不到声明。我错过了什么吗?
答案 0 :(得分:12)
只需替换此
android.R.id.home
到
R.id.home
并检查您的代码...运行它
因为
R.layout.*
是您提供的布局(例如,在res / layout中)。
android.R.layout.*
是Android SDK附带的布局。
答案 1 :(得分:7)
我知道这是一个老问题,但我相信缺少正确的答案。
它应该是android.R.id.home
因为它是一个平台资源,所以你的代码很好。
确保自11年引入home
以来,你的minSdkVersion为11或更高。
答案 2 :(得分:1)
我记得碰到这个问题,显然它经常快速谷歌或搜索堆栈溢出应该给你一些见解,无论如何检查这个线程R cannot be resolved - Android error 我很确定你遇到了同样的问题