我有一个 ListFragment,我必须添加一个菜单。这是我的代码: 列表用户菜单:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/any_option"
android:title="In Context Menu" />
</menu>
我的列表 fragment :
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
View mFooterView;
// We need to use a different list item layout for devices older than Honeycomb
int layout = Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ?
android.R.layout.simple_list_item_activated_1:android.R.layout.simple_list_item_1;
if(getListAdapter()==null){
// init adapter
adapter=new UserArrayAdapter(getActivity(),
MOBILE_OS);
}
else{
adapter.notifyDataSetChanged();
}
// set adapter
registerForContextMenu(getListView());
setListAdapter(adapter);
}
@Override
public void onCreateContextMenu(final ContextMenu menu, final View v,
final ContextMenuInfo menuInfo){
menu.clear();
super.onCreateContextMenu(menu, v, menuInfo);
final MenuInflater inflater = getActivity().getMenuInflater();
inflater.inflate(R.menu.listuser_menu, menu);
}
但是我看不到我的菜单..为什么?如何注册选择的选项菜单?谢谢!
最佳答案
可以将菜单添加到 fragment 中,在 fragment 中使用以下代码:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
setHasOptionsMenu(true);
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.listuser_menu, menu);
}
使用 setHasOptionsMenu 将允许您的 fragment 显示菜单。
关于android - ListFragment - 如何添加菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14347927/