总有这种需求,那就是不同的Fragment
页面要对应不同的toolBar
菜单的响应,这个问题呢,google
早就考虑到了,要实现起来也是十分的方便。
1.在Fragment
的onCreateView()
里面添加如下方法:
setHasOptionsMenu(true);
Report that this fragment would like to participate in populating the options menu by receiving a call to
onCreateOptionsMenu
and related methods.
其实点进去就是设置了一个回调,设置为true之后那么就会触发onCreateOptionsMenu()
的回调!然后要求去重新绘制OptionsMenu
2.在Fragment里面实现相关的方法:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_recycle, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_add:
adapter.addData(adapter.getDataItemCount());
break;
case R.id.action_remove:
adapter.removeData(adapter.getDataItemCount() - 1);
break;
}
return true;
}
这两个方法和Activity
的一致,在这里填充相关的布局,然后设置相关的点击事件,到这里其实就已经OK了!!没有截图,请自行实践吧!!!