赞
踩
直译: EventBus异常:Activity2已经注册过EventBus。
相关代码:
class Activity2
{
@Override
public void onStart()
{
super.onStart();
EventBus.getDefault().register(this);
}
......
onClick()//点击按钮启动Activity3,从Activity3返回Activity2时出现异常
{
startActivity(new Intent(Activity2.this, Activity3.class));
}
......
}
原因: Activity2创建时会调用onStart方法注册eventbus,Activity3返回Activity2时会再次调用onStart方法,此时会重复注册报异常。
解决方案 一:(省事的方法)
if (!EventBus.getDefault().isRegistered(this))
{
EventBus.getDefault().register(this);
}
解决方案 二:改变注册与反注册eventbus的位置。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。