手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >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中利用App实现消息推送机制的代码

android4.0 获取手机IP地址的问题

Android ellipsize的小问题介绍

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

Android 管理Activity中的fragments

Android程序打开和对输入法的操作(打开/关闭)

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

深入Android线程的相关问题解惑

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

Android SQLite数据库增删改查操作的案例分析

精品推荐
分类导航