android - Google Play 服务 6.5.87 与 7.3.0 - 布局问题?

标签 android android-fragments google-play-services

好吧,这是一个奇怪的问题......我有一个包含一堆 fragment 的 Activity 。我有一些代码需要访问 fragment View 。我使用 getView() 方法获取 fragment View 。突然间,我的代码在几次提交之间停止工作。经过非常痛苦的调试过程后,我将问题缩小到 Google Play 服务的版本,在其中一次提交中从 6.5.87 更改为 7.3。检查布局层次结构我可以看到当我的代码工作时(即 getView () 正在返回我期望的布局),在我的容器下有一个额外的 FrameLayout,所以层次结构如下所示:

<...stuff...>
  - FrameLayout (resource-id com.myapp:id/container)
    - FrameLayout (resource-id )
      - LinearLayout (resource-id )
        - LinearLayout (top level layout in my fragment)

当使用 7.3 服务时,它看起来像:

<...stuff...>
  - FrameLayout (resource-id com.myapp:id/container)
    - LinearLayout (resource-id ) 
      - LinearLayout (top level layout in my fragment)

知道为什么一开始会有 FrameLayout 以及它在较新的 PlayServices 中的位置吗?

最佳答案

我的猜测是早期版本的 Google Play Services 为他们自己的特殊需要注入(inject)了一个额外的 FrameLayout,现在已经停止这样做了。

也许是因为他们的“请升级 Google Play 服务”对话框,谁知道呢。

由于 Google Play 服务是闭源的,因此很难明确回答这个问题。我遇到了同样的问题:我的代码依赖于 Fragement getView() 返回一个 FrameLayout,当我从使用 Google Play Services 6.1.x 转移到 7.5.x 时,这就中断了

关于android - Google Play 服务 6.5.87 与 7.3.0 - 布局问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30130202/

相关文章:

java - 按类型设置集合的键控

java - 从 Android 设备卸载应用程序时,从 SUP 服务器删除应用程序连接

android - PhoneGap 3.0 Android 构建命令执行失败 : ant jar

android - 如何更改语言 Google Map V2 android

android - 实现类似动画的 Google-Play-Music(播放列表项旁边的 3 条频谱)

java - 在 Android Activity 之间共享 View 的正确方法?

android - 在 Android Studio 中出现渲染问题, View 不显示

java - fragment 中的 RecyclerView 在设备屏幕旋转时崩溃

android - com.google.android.gms.common.api.ApiException : 10

android - 在后台服务中使用 Google Play Services LocationClient