【发布时间】:2012-09-07 15:08:21
【问题描述】:
我设法通过删除一些东西(我怀疑)搞砸了我的一个 Android 项目。以下是我的清单和菜单资源。由于某种原因,当我运行应用程序时,我的操作栏没有显示菜单按钮。
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_settings"
android:title="@string/menu_settings"
android:orderInCategory="100"
android:showAsAction="never" />
</menu>
清单:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myapp"
android:versionCode="6"
android:versionName="2.1.0" >
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MyActivity"
android:label="@string/title_activity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
我的活动代码中也有这个
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.menu_settings:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
但在应用程序运行时仍然没有创建菜单/选项按钮。有什么想法吗?
编辑 1
经过一些重大试验后,我发现向我的应用程序添加本地化支持导致了这个问题。
我删除了所有本地化的 values-* 目录,操作栏又回来了,然后我将 values 目录复制到 values-en 并在我的英文设备上运行它。然后操作栏消失了。这对任何人都有启发吗?
【问题讨论】:
-
我不是故意要删除我最后的评论。听起来您的问题出在这一行
android:showAsAction="never" -
我也有同样的想法,对照具有相同菜单资源文件的项目进行检查,该项目显示正常。我已经尝试使用
android:showAsAction="always",但仍然没有显示任何内容。 -
我从未使用过
never,这很奇怪。我的总是读android:showAsAction="ifRoom|withText"
标签: android android-actionbar missing-features