无法在Android设备上看到“选项菜单”

时间:2013-12-30 13:13:08

标签: android

我有一个用minSdkVersion="8"targetSdkVersion="19"编写的应用程序,因为它非常简单,我需要在低级别的Android设备上使用它。 问题是当我尝试在Android 4+设备中使用它时。我看不到选项菜单。

当我在模拟器中使用该应用时,我使用“菜单”button,我可以看到它。但不是我的平板电脑或手机(都有4+版本)。

好的,让我们看看代码:

manifest.xml文件中我有这个(我认为问题是主题......)。

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Holo.Light" >
    <activity
        android:name="com.clv.app2.MainActivity"
        android:label="@string/app_name"
        android:theme="@android:style/Theme"> 

我在OnCreateOptionsMenu中有一个简单的MainActivity ...(我只定义了两个选项)。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.option_menu, menu);
    return true;
}

任何人都可以帮我看看问题出在哪里吗?

提前谢谢。

编辑:

option_menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
    android:id="@+id/scan"
    android:icon="@android:drawable/ic_menu_search"
    android:title="@string/connect"/>
<item
    android:id="@+id/discoverable"
    android:icon="@android:drawable/ic_menu_mylocation"
    android:title="@string/discoverable"/>

编辑: 好的。我一直在阅读论坛中的其他条目,我发现有些设备没有菜单键(显示选项菜单),而且从3+版本开始,它不需要它。 当我在少于3个版本的Android设备中执行我的应用程序时,我有那个物理按钮,它可以工作。在一个Android设备超过3个版本(我有一个4+版本),该按钮不存在,并且无法使选项菜单可见。 我的问题是......我是否必须在没有“物理菜单按钮”的3个以上设备的屏幕上放置一个按钮,当我想看到选项菜单时使用它???

2 个答案:

答案 0 :(得分:1)

我发现问题导致应用程序无法在4+设备上运行。

在我的MainActivity中的onCreate方法中,我有这个:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Log.d(TAG, "En onCreate...");

    // Preparo texto cabecera de pantalla

    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
    setContentView(R.layout.main);
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
            R.layout.custom_title);

如果我取出所有代码,只留下setContentView就行了。

答案 1 :(得分:0)

我认为这不是主题问题,但在创建项目时只需进行以下更改:

  • 所需的最低SDK:API8:Android 2.2(Froyo)

  • 目标SDK:API17:Android 4.2(Jelly Bean)

  • 编译:API8:Android 2.2(Froyo)

  • 主题:无

希望它能奏效。