OptionsMenu 没有出现
OptionsMenu doesn`t appear
我有 ListFragment
,我想管理 ActionBar。然而,它并没有出现在屏幕上。
这是 ListFragment
:
的代码
@Override
public void onCreate(Bundle saved) {
super.onCreate(saved);
setHasOptionsMenu(true);
...
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.fragment_crime_list, menu);
}
fragment_crime_list:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_item_new_crime"
android:icon="@android:drawable/ic_menu_add"
android:title="@string/new_crime"
android:showAsAction="ifRoom|withText" />
</menu>
在我的 manifest.xml
中我只设置了 minSdkVersion
但它没有帮助
<uses-sdk
android:minSdkVersion="8"
/>
有什么建议吗?
对于片段,您需要在 oncreatView()
中设置setHasOptionsMenu(true);
只需调用 onCreateOptionMenu 的超级构造函数即可
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_sample, menu);
super.onCreateOptionsMenu(menu,inflater);
}
您的 activity 默认情况下不添加操作栏,它也在 API 级别 11 而不是 8 中添加。因此,要添加它,您有两个选项,我将在此处说明
API 11 级或更高
操作栏包含在使用 Theme.Holo 主题(或其后代之一)的所有活动中,当 targetSdkVersion 或 minSdkVersion 属性设置为“11”或更高时,这是默认主题.如果您不想要 activity 的操作栏,请将 activity 主题设置为 Theme.Holo.NoActionBar.
API 7 级或更高
您必须使用 appcompat v7 库,您可以找到确切的添加方法 here。
我有 ListFragment
,我想管理 ActionBar。然而,它并没有出现在屏幕上。
这是 ListFragment
:
@Override
public void onCreate(Bundle saved) {
super.onCreate(saved);
setHasOptionsMenu(true);
...
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.fragment_crime_list, menu);
}
fragment_crime_list:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_item_new_crime"
android:icon="@android:drawable/ic_menu_add"
android:title="@string/new_crime"
android:showAsAction="ifRoom|withText" />
</menu>
在我的 manifest.xml
中我只设置了 minSdkVersion
但它没有帮助
<uses-sdk
android:minSdkVersion="8"
/>
有什么建议吗?
对于片段,您需要在 oncreatView()
中设置setHasOptionsMenu(true);
只需调用 onCreateOptionMenu 的超级构造函数即可
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_sample, menu);
super.onCreateOptionsMenu(menu,inflater);
}
您的 activity 默认情况下不添加操作栏,它也在 API 级别 11 而不是 8 中添加。因此,要添加它,您有两个选项,我将在此处说明
API 11 级或更高
操作栏包含在使用 Theme.Holo 主题(或其后代之一)的所有活动中,当 targetSdkVersion 或 minSdkVersion 属性设置为“11”或更高时,这是默认主题.如果您不想要 activity 的操作栏,请将 activity 主题设置为 Theme.Holo.NoActionBar.
API 7 级或更高
您必须使用 appcompat v7 库,您可以找到确切的添加方法 here。