我创建了一个支持手机和平板电脑版本的应用程序,因此我使用了android-support-v4.jar库.我的活动扩展了FragmentActivity并覆盖onCreateOptionsMenu(菜单菜单).这在平板电脑上工作正常,onCreateOptionsMenu被正确调用但它在手机上不起作用,onCreateOptionsMenu永远不会被调用.怎么解决这个?
注意:我<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="12"/>在Manifest文件上使用.
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
Log.d("Does", "get called");
inflater.inflate(R.menu.menuitem, menu);
super.onCreateOptionsMenu(menu, inflater);
}
Run Code Online (Sandbox Code Playgroud)
下面是我的onCreateView方法,我正在调用
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
setHasOptionsMenu(true);
return inflater.inflate(R.layout.layout1, container, false);
}
Run Code Online (Sandbox Code Playgroud)
我没有在我的操作栏中获取日志语句或菜单.
更新:我尝试从片段的onCreate方法调用它,但菜单未显示.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
Run Code Online (Sandbox Code Playgroud)
menu.xml文件
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/section" android:title="@string/section"
android:icon="@drawable/ic_section"
android:showAsAction="always" />
<item android:id="@+id/refresh" android:title="@string/refresh"
android:icon="@drawable/ic_refresh"
android:showAsAction="always" />
<item android:id="@+id/edit_patient" android:title="@string/edit_patient"
android:icon="@drawable/ic_editpatient"
android:showAsAction="always" />
<item android:id="@+id/about" android:title="@string/about"
android:showAsAction="never" />
<item android:id="@+id/help" android:title="@string/help"
android:showAsAction="never" />
<item android:id="@+id/signout" android:title="@string/signout"
android:showAsAction="never" …Run Code Online (Sandbox Code Playgroud)