开发者社区> walb呀> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

【Android】嵌套Fragment无法接收onCreateOptionsMenu事件的问题

简介:
+关注继续查看

补充说明:

如果通过缓存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。

相关文章:

【Andorid X 项目笔记】嵌套Fragment的使用(5) 

本文转自博客园农民伯伯的博客,原文链接:【Android】嵌套Fragment无法接收onCreateOptionsMenu事件的问题,如需转载请自行联系原博主。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Android源码分析--广播的注册、发送和接收
Android源码分析--广播的注册、发送和接收
0 0
【Android 逆向】Android 逆向通用工具开发 ( Android 端远程命令工具 | Android 端可执行程序的 main 函数操作 | TCP 协议服务器建立 | 接收客户端数据 )
【Android 逆向】Android 逆向通用工具开发 ( Android 端远程命令工具 | Android 端可执行程序的 main 函数操作 | TCP 协议服务器建立 | 接收客户端数据 )
0 0
Android扩大点击事件接收区域范围
Android扩大点击事件接收区域范围 如果有些icon或者ImageView,这些View本身很小,就扩大这些事件的接收区域。
1309 0
Android非UI主线程中,若干普通Java线程使用Handler发送接收消息
Android非UI主线程中,若干普通Java线程使用Handler发送接收消息 线程1和线程2均为普通Java线程,在Android中创建,然后在这两个普通Java线程中使用Handler发送和接收消息。
982 0
Android上传文件到Web服务器,PHP接收文件
 Android上传文件到服务器,通常采用构造http协议的方法,模拟网页POST方法传输文件,服务器端可以采用JavaServlet或者PHP来接收要传输的文件。
788 0
Android Studio进行APP设计开发之矢量图及XML文件转换
Android Studio进行APP设计开发之矢量图及XML文件转换
0 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Android组件化实现
立即下载
蚂蚁聚宝Android秒级编译—— Freeline
立即下载
Android插件化:从入门到放弃
立即下载