首页 > 其他 > 详细

关于Fragment中的onAttach()方法有时候无法正常加载的问题

时间:2016-01-17 06:22:35      阅读:1800      评论:0      收藏:0      [点我收藏+]

  在Android Studio里使用Fragment的开发兼容平板的应用时遇到了一些小问题。由于开发初衷是兼容手机和平板,使用A和B两个模拟器,一个用于测试手机,一个用于测试平板。在模拟器A运行应用时一点儿问题也没有,模拟器B运行应用却显示异常。

模拟器A运行效果如下:

技术分享

  模拟器B应用效果运行如下,左边标题页和上图主页上为同一个Fragment,当应用运行时数据却没有加载出来。

技术分享

  怀疑是应用启动时,有的方法没有正常执行,导致一部分应用数据没有加载。由于初始化操作是在onAttach()中完成的。查看代码,经编辑器提示,发现Fragment中的onAttach()有两个可供覆写的方法一个为onAttach(Activity activity),一个是onAttach(Context context),前者已经被废弃。我使用的是onAttach(Context context)。在代码中加入输出信息。

public void onAttach(Context context) {
    super.onAttach(context);
    initNews();
    adapter = new NewsAdapter(context,R.layout.news_item,newsList);
    Log.d(TAG, "onAttach");
}

  对比发现,当模拟器A运行应用时,onAttach(Context context),是正常执行的,一旦部署到模拟器B中运行,就不会执行此方法。用onAttach(Activity activity)替换onAttach(Context context)后,部署到模拟器A中,onAttach()正常执行,问题得到解决。

技术分享

关于Fragment中的onAttach()方法有时候无法正常加载的问题

原文:http://www.cnblogs.com/witchiman/p/5136697.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!