Jon*_*nas 2 java xml android menu menuitem
我正在开发一个带有菜单的应用程序。菜单包含 2 个项目,一个地图和一个设置属性这是菜单语法:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never" />
<item android:id="+@id/action_maps"
android:title="@string/action_map"
app:showAsAction="never"/>
</menu>
Run Code Online (Sandbox Code Playgroud)
我使用 MainActivity 中的 onOptionsItemSelected(MenuItem item) 方法来处理这个:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
Intent intent = new Intent(this, PreferenceActivity.class);
startActivity(intent);
return true;
}
if(id == R.id.action_maps){
openPreferredLocationMap();
return true;
}
return super.onOptionsItemSelected(item);
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是Android在方法中识别action_settings但不识别action_maps。为什么?
这是错误的
<item android:id="+@id/action_maps"
android:title="@string/action_map"
app:showAsAction="never"/>
Run Code Online (Sandbox Code Playgroud)
尝试这个
<item android:id="@+id/action_maps"
android:title="@string/action_map"
app:showAsAction="never"/>
Run Code Online (Sandbox Code Playgroud)
问题是+符号应该在@之后而不是之前
归档时间: |
|
查看次数: |
716 次 |
最近记录: |