Chinaunix首页 | 论坛 | 博客
  • 博客访问: 207420
  • 博文数量: 20
  • 博客积分: 1380
  • 博客等级: 中尉
  • 技术积分: 280
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-28 14:52
文章分类
文章存档

2017年(2)

2014年(3)

2013年(1)

2009年(1)

2008年(1)

2007年(12)

我的朋友

分类: Android平台

2014-05-20 15:22:35

    今天我就利用上一篇介绍的CrashHandler捕捉到了一个异常,这个异常可能已经潜伏了很久,今天终于发现了.
   通过在网上查发现了一个解决办法,修改并等待验证中,文章内容如下:
   

程序开发中遇到了android.support.v4.app.Fragment$InstantiationException这个bug,给出的提示是:

make sure class name exists, is public, and has an empty constructor that is public。看了下自己写的代码,重写了一个带参数的构造参数用来new Fragment的时候传值,那构造的时候肯定不走默认构造了。google了下,StackOverflow上给出了解决的办法。

写一个静态方法来实例化自己的Fragment。代码如下:

public static final Fragment newInstance(String key){

Fragment fragment = new RealtimeSearchFragment();

Bundle bundle = new Bundle();

bundle.putString("key", key);

fragment.setArguments(bundle);

return fragment;

}

在自己的Activity里这样获取这个Fragment

Fragment realtimeSearchFragment = RealtimeSearchFragment.newInstance(realSearchKey);

在自己的Fragment onCreateView方法里获取Activity传过来的值:

getArguments().getString("key")

这样就ok了。

阅读(8788) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~