开发异常问题总结一

一:java.lang.RuntimeException: Unable to start activity ComponentInfo: android.view.InflateException: Binary XML file line #14: Error inflating class fragment
出现场景:在项目中,首先加载WelcomeActivity界面,随后加载HomeActivity界面,在activity界面中加载fragment,fragment中又添加了多个fragment,当加载homeActivity主界面后,点击Home键,长时间后activity被系统回收,再次点击时会报此异常,应用崩溃
解决办法:由于时间过久或者开启应用过多,内存不足,系统开始回收应用Activity,这时候重新打开应用,会重新调用加载oncreate,fragment事务会被重新提交,fragemnt反复加载,所以报错;
@Override
	public void onSaveInstanceState(Bundle outState,
			PersistableBundle outPersistentState) {
		 super.onSaveInstanceState(outState, outPersistentState);
	}
在此方法中保存退出时的状态信息,在oncreate中	                                                                                   if (savedInstanceState == null) {
			initView();
		}
判断存储数值是否为空,防止反复加载提交事务
 
 

二:Caused by: android.view.InflateException: Binary XML file line #14: Error inflating class fragment
出现场景:xml布局文件出错,xml的标签和属性的命名、定义错误,控件Button被写成了ImageView
解决办法:找到错误的布局控件声明代码,保持与xml中一致
三:Your project contains error(s),please fix them before running your application 
出现场景:项目运行时报错
解决办法:右键项目工程,打开Build Path,选择Configure build path,在Order andExport中取消Android 	Private Libraries选项,重新运行项目
四:java.lang.IllegalStateException: Fragment already added异常的处理。
出现场景:由一个activity中的fragment向另一个fragment中传值时出现
解决办法:

在 Fragment 没有被添加到 FragmentManager 之前,我们可以通过 Fragment.setArguments() 来设置参数,并在 Fragment 中,使用 getArguments() 来取得参数。在 Fragment 被添加到 FragmentManager 后,一旦被使用,我们再次调用 setArguments() 将会导致 java.lang.IllegalStateException: Fragment already active 异常。

解决方法:可以使用setter和getter方法进行数据的存储和获取。

参考:http://stackoverflow.com/questions/10364478/got-exception-fragment-already-active/15084683

(以上是问题的原因)

问题的解决方法参考

三种方式传值

1.直接在一个Fragment中调用另外一个Fragment中的方法

  1. ContentFragment cf = (ContentFragment) getActivity()  
  2.                             .getFragmentManager().findFragmentById(  
  3.                                     R.id.content_fg);  
  4.                     cf.showPro(name); 
但是要保证我们调用的方法是public公开的 showPro(String);

2.使用接口回调的方法

3.使用广播

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值