如何在Fragment中使用phonegap的CordovaWebView
1个回答
推荐于2016-08-25 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517201
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
又说到phonegap了, 最近用的比较多.话说Android 3.0以后, sdk中增加了Fragment控件, 包括后来android退出的support的lib中, 也包含了Fragment, 这个东西确实很方便. 但当我们想在Fragment中使用CordovaWebView的时候, 出现问题了.
官方的例子中, 单独使用CordovaWebView时候, 需要包含CordovaWebView的Activity实现CordovaInterface接口. 那我们就照葫芦画瓢, 让包含有CordovaWebView的Fragment实现CordovaInterface. 理论上这样就可以了. 但运行起来后, 会出异常, 报phonegap在init时候出错了.
这个怎么回事呢, 很是郁闷. 尝试了很多方法, 使用无法解决这个init出错的问题.
再次打开官方的doc文档, 发现官方里必须是一个Activity实现CordovaInterface接口. 灵光一闪, 好吧, 那我直接让我的Fragment所属的FragmentActivity实现CordovaInterface接口是否可以呢. 试试先!
吧啦吧啦 吧啦吧啦 吧啦吧啦 吧啦吧啦 吧啦吧啦 吧啦吧啦
竟然成功了, 虽然这个FragmentActivity并不知道哪里会出现CordovaWebView. 此时会有个隐患问题, 就是对于CordovaWebView的加载事件的监听, 也是在CordovaInterface进行的. 如果一个界面中, 同时有多个Fragment都使用了CordovaWebView, 估计在事件捕获上会有问题吧.
官方的例子中, 单独使用CordovaWebView时候, 需要包含CordovaWebView的Activity实现CordovaInterface接口. 那我们就照葫芦画瓢, 让包含有CordovaWebView的Fragment实现CordovaInterface. 理论上这样就可以了. 但运行起来后, 会出异常, 报phonegap在init时候出错了.
这个怎么回事呢, 很是郁闷. 尝试了很多方法, 使用无法解决这个init出错的问题.
再次打开官方的doc文档, 发现官方里必须是一个Activity实现CordovaInterface接口. 灵光一闪, 好吧, 那我直接让我的Fragment所属的FragmentActivity实现CordovaInterface接口是否可以呢. 试试先!
吧啦吧啦 吧啦吧啦 吧啦吧啦 吧啦吧啦 吧啦吧啦 吧啦吧啦
竟然成功了, 虽然这个FragmentActivity并不知道哪里会出现CordovaWebView. 此时会有个隐患问题, 就是对于CordovaWebView的加载事件的监听, 也是在CordovaInterface进行的. 如果一个界面中, 同时有多个Fragment都使用了CordovaWebView, 估计在事件捕获上会有问题吧.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询