码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-01-17 06:22:51      阅读:245      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!