我正在尝试在我的项目中实现 ActionBarSherlock。将菜单/操作项添加到操作栏正在 2.1 上工作,但在我的 nexus4 中没有,在 4.0.3 模拟器中也没有。问题是该功能 onCreateOptionsMenu(Menu menu)
永远不会在我的设备中被调用,而是在 2.1 中被调用,因此我手机的操作栏中没有显示任何操作项。
- 我已将 ActionBarSherlock 作为库包含在我的项目中。
- 我在清单文件中的应用程序中设置了适当的主题。
- 我用 SherlockActivity 扩展了我的活动课程。
- 我已经从 sherlock 库中覆盖了适当的类(到目前为止我知道,如果没有,菜单也不会显示在 2.1 的操作栏中)
以下是设置主题的清单的一部分。
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.Sherlock.Light.DarkActionBar" >
以下是 menu.xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_item_call"
android:showAsAction="always"
android:title="Call"/>
<item
android:id="@+id/menu_item_share"
android:showAsAction="always"
android:title="Share"/>
<item
android:id="@+id/menu_item_save"
android:showAsAction="always"
android:title="Save"/>
</menu>
以下是活动的相关部分。
//other imports
import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.actionbarsherlock.view.Window;
public class SelectCategories extends SherlockActivity implements
OnClickListener {
//other code
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu, menu);
return super.onCreateOptionsMenu(menu);
//return true; also has no effect
}
}
我一直在尝试解决这个问题,已经过去了几个小时但无法解决。请帮我。先感谢您。