我正在使用 ActionBarCompat 为 API 11 下的设备制作操作栏。它运行良好且易于设置,但我被卡住了。
我在操作栏上有一些项目,看起来很棒。有些项目位于三个点 (ifRoom) 的后面,有些项目您总是可以看到。
当您单击其中一项以启动新活动时,我该怎么做?我尝试使用 switch/case 和其他方法,但无法通过 Items 从一个 Activity 发送到另一个 Activity。我知道如何从按钮、imagebutton 发送到另一个 Activity,但不知道如何从 Items 发送。
我的 main.xml 看起来像这样:
<item
android:id="@+id/add"
android:title="Lägg till"
android:icon="@drawable/new"
android:orderInCategory="1"
budsnabben:showAsAction="always"/>
MainActivity 中的代码如下所示:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.:
Intent intent = new Intent(this, MapActivity.class);
this.startActivity(intent);
break;
case R.id.menu_item2:
// another startActivity, this is for item with id "menu_item2"
break;
default:
return super.onOptionsItemSelected(item);
}
return true;
}
}
问题出在案例 R.id.... 在 Id 之后,我没有得到我的班级地图或主地图,它不存在。
谢谢你。
解决方案:
只是想感谢杰拉德。
我在 strings.xml 中创建了新的字符串。之后,我确实将 main.xml 中的标题更改为:
android:title="@string/add"
我像以前一样对该行进行了硬编码,因此我认为它不起作用:
android:title="@+id/add"
再次感谢您。