有时候在项目中的Home page中需要加载不同的fragment。每一个fragment完成不同的功能。
这时候每个fragment常常需要用到不同的OptionsMenu。
可以在fragment中重载onCreateOptionsMenu 和 onOptionsItemSelected函数去完成功能。
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.clean_menu, menu);
super.onCreateOptionsMenu(menu, inflater);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.clear_btn:
//code here
return true;
default:
return super.onOptionsItemSelected(item);
}
}
其中关键的一步是在onCreateView中加入下句代码。
setHasOptionsMenu(true);
这样可以显示fragment的options menu。