我想在操作栏中添加一个选项菜单到我现有的应用程序,但它无法正常工作.如果我使用"hello world"默认应用程序创建一个新项目,我可以在操作栏中看到该按钮.onCreateOptionMenu()方法似乎永远不会在使用断点的调试中捕获,有什么问题?
我正在两个应用程序上使用API 14,这是我的MainActivity代码.
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
public class Principale extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ecran_d_acceuil);
}
public boolean onCreateOptionMenu(Menu menu) {
getMenuInflater().inflate(R.menu.principale, menu);
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
我的menu.xml代码
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
</menu>
Run Code Online (Sandbox Code Playgroud)
的manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="14" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.myapp.Principale"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.myapp.Home"
android:label="@string/title_activity_home" >
</activity>
<activity
android:name="com.example.myapp.ListDir"
android:label="@string/title_activity_list_dir" >
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
Alv*_*ban 22
就我而言,解决这个问题的是这个问题的答案; 去除
android:theme="@style/AppTheme"
Run Code Online (Sandbox Code Playgroud)
来自清单中的标记.
cro*_*boy 14
您是否尝试将应用主题设置为支持的主题ActionBar,例如Theme.Holo.Light?
另外,Activity你可以尝试getActionBar().show();.
小智 8
你已经扩展了活动.尝试在java代码中扩展ActionBarActivity
小智 6
花了3个小时终于修好了!忘记从清单中删除 android:theme="@style/AppTheme" 。它会导致运行时错误。这就是我解决问题的方法。您的 Activity 应该扩展 AppCompatActivity 而不是 Activity。
| 归档时间: |
|
| 查看次数: |
41508 次 |
| 最近记录: |