甚至可以在Fragmentactivity

时间:2016-07-28 18:29:19

标签: android android-fragments android-activity

好的,这件事真的让我发疯了。我尝试了一切,但我不能让这件事发挥作用。

这是我的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/settings_id"
        android:title="@string/settings"
        android:showAsAction="always"
        />
    <item
        android:id="@+id/about_us_id"
        android:title="@string/about_us"
        android:showAsAction="never"
        />
    <item
        android:id="@+id/rate_id"
        android:title="@string/rate_us"
        android:showAsAction="never"
        />
</menu>

这些是我的onCreateOptionsMenu()和onCreate()方法:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    menu.clear();
    getMenuInflater().inflate(R.menu.main_menu, menu);
    super.onCreateOptionsMenu(menu);
    return true;
}


@Override   
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maps);
    // Obtain the SupportMapFragment and get notified when the map is ready to be used.
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);

}

菜单正常工作,显示了元素,但我不能将它们放在溢出菜单下(这三个点)。 我必须使用片段活动,因为我使用谷歌地图,这也是我无法使用的原因 setHasOptionsMenu(true)

1 个答案:

答案 0 :(得分:1)

是:

How to force use of overflow menu on devices with menu button

将该函数放入onCreate()并且它可以正常工作。