无法在Android选项菜单中添加额外的项目

时间:2013-12-18 20:46:54

标签: android xml menu maps options

我有这个选项菜单的那一刻

Currently working

我想在混合地图下方添加选项。这是我的代码。我已经添加了我想要的其他两个菜单选项,但它们不起作用。

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    super.onOptionsItemSelected(item);

    switch(item.getItemId())
    {
    case R.id.normal_map:
        mapType=GoogleMap.MAP_TYPE_NORMAL;
        break;

    case R.id.satellite_map:
        mapType=GoogleMap.MAP_TYPE_SATELLITE;
        break;

    case R.id.terrain_map:
        mapType=GoogleMap.MAP_TYPE_TERRAIN;
        break;

    case R.id.hybrid_map:
        mapType=GoogleMap.MAP_TYPE_HYBRID;
        break;

    case R.id.games2014:
        games2014=true;
        break;

    case R.id.games_past:
        games2014=false;
        break;
    }

    googleMap.setMapType(mapType);
    return true;
}

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/map_types"
    android:title="Menu"
    android:showAsAction="always">
    <menu>
        <item android:id="@+id/normal_map"
            android:title="Mormal map"/>
        <item android:id="@+id/satellite_map"
            android:title="Satellite map"/>
        <item android:id="@+id/terrain_map"
            android:title="Terrain map"/>
        <item android:id="@+id/hybrid_map"
            android:title="Hybrid map"/>
        <Item android:id="@+id/games2014"
            android:title="2014 Games"/>
        <Item android:id="@+id/games_past"
            android:title="Previous Games"/>
    </menu>     
</item>   

2 个答案:

答案 0 :(得分:1)

在你的项目中,你将其声明为Item,这将导致它不添加

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    super.onOptionsItemSelected(item);

    switch(item.getItemId())
    {
    case R.id.normal_map:
        mapType=GoogleMap.MAP_TYPE_NORMAL;
        break;

    case R.id.satellite_map:
        mapType=GoogleMap.MAP_TYPE_SATELLITE;
        break;

    case R.id.terrain_map:
        mapType=GoogleMap.MAP_TYPE_TERRAIN;
        break;

    case R.id.hybrid_map:
        mapType=GoogleMap.MAP_TYPE_HYBRID;
        break;

    case R.id.games2014:
        games2014=true;
        break;

    case R.id.games_past:
        games2014=false;
        break;
    }

    googleMap.setMapType(mapType);
    return true;
}

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/map_types"
    android:title="Menu"
    android:showAsAction="always">
    <menu>
        <item android:id="@+id/normal_map"
            android:title="Mormal map"/>
        <item android:id="@+id/satellite_map"
            android:title="Satellite map"/>
        <item android:id="@+id/terrain_map"
            android:title="Terrain map"/>
        <item android:id="@+id/hybrid_map"
            android:title="Hybrid map"/>
        <item android:id="@+id/games2014"
            android:title="2014 Games"/>
        <item android:id="@+id/games_past"
            android:title="Previous Games"/>
    </menu>     
</item> 

答案 1 :(得分:0)

<Item android:id="@+id/games2014"
   android:title="2014 Games"/>
<Item android:id="@+id/games_past"
   android:title="Previous Games"/>

“项目”中的“我”是资本。它应该是小写的“i” - “item”