手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >Android 解决嵌套Fragment无法接收onCreateOptionsMenu事件的问题
Android 解决嵌套Fragment无法接收onCreateOptionsMenu事件的问题
摘要:前言嵌套的二级Fragment无法接收onCreateOptionsMenu事件的问题,设置了setHasOptionsMenu也不管用。正...

前言

嵌套的二级Fragment无法接收onCreateOptionsMenu事件的问题,设置了setHasOptionsMenu也不管用。

正文

补充说明:

如果通过缓存Fragment手动调用二级Fragment,可能会出现莫名其妙的问题,比如更多Menu不显示。

解决办法:

在一级Fragment中添加Menu,可以在一级onOptionsItemSelected中手动调用二级的此方法来处理相关事件。

示例代码:

@Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { switch (getSelectedPosition()) { case 1: inflater.inflate(R.menu.menu1, menu); break; case 2: inflater.inflate(R.menu.menu2, menu); break; case 0: default: inflater.inflate(R.menu.menu3, menu); break; } } @Override public boolean onOptionsItemSelected(MenuItem item) { Fragment fragment = getFragmentByPosition(getSelectedPosition()); if (fragment != null) fragment.onOptionsItemSelected(item); return super.onOptionsItemSelected(item); }

代码说明:

示例代码是一级Fragment,getFragmentByPosition返回的是二级Fragment。

以上就是Android 解决 Fragment无法接收onCreateOptionsMenu事件的问题,希望能帮助Android开发的朋友解决类似问题。

【Android 解决嵌套Fragment无法接收onCreateOptionsMenu事件的问题】相关文章:

Android中使用sax解析xml文件的方法

Android开发: fragment解析及案例

android 键盘事件和屏幕事件的运行原理及交互实现

Android解决dialog弹出时无法捕捉Activity的back事件的方法

Android 自动判断是电话,网址,EMAIL方法之Linkify的使用

Android在OnCreate中获取控件的宽度和高度的实现代码

解决android 下载时文件名中文和空格问题

Android 倒影算法的实现代码

Android Tween动画之RotateAnimation实现图片不停旋转效果实例介绍

android 线性布局LinearLayout实例代码

精品推荐
分类导航