首先定义menu的xml资源文件
右键res
文件夹,选择New -> Android resource file
Resource type
选Menu
,定义一个File name
,然后点击OK
!
然后在xml文件中根据需要定义item
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/menu_item_new_crime"
android:icon="@android:drawable/ic_menu_add"
app:showAsAction="ifRoom|withText"
android:title="new crime">
</item>
</menu>
在Fragment类中,继承onCreateOptionsMenu(Menu, MenuInflater)
方法,加载menu资源文件:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.fragment_crime_list, menu);
}
最后在Fragment类中的onCreate(Bundle)
方法中加入:
setHasOptionsMenu(true);
完整代码看起来是这样的:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActivity().setTitle(R.string.crimes_title);
crimes = CrimeLab.get(getActivity()).getmCrimes();
setListAdapter(new CrimeAdapter(crimes));
setHasOptionsMenu(true); // 这是关键的一句
}