处理Fragment中退出Activity空指针异常
来源:互联网 发布:网络教育和函授毕业证 编辑:程序博客网 时间:2024/05/21 10:51
中项目中可能会有存在这样的情况:一个Activity中嵌套了Fragment,然后后面退出的时候就出现一款空指针异常,因为我们调用的时候采用的方式是:getContext.finish();空指针是因为宿主Activity已经被回收了所以就为空了:
解决办法:采用接口回调的方式将需要退出的动作回调给宿主Activity:
1 在fragment中定义接口:
2 在fragment中获取到activity的监听
3 在需要回调的地方将动作回调给Activity
4 在Activity中实现接口
5 在复写方法中执行退出操作
1 Fragment中定义接口
private OnSelectedAddressCallback onSelectedAddressCallback;
public interface OnSelectedAddressCallback {
void onSelected(@NonNull AddressBean address);
}
2 在fragment中获取到activity的监听(也可以采用setXX()的方式将获取到监听对象)
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
if (activity instanceof OnSelectedAddressCallback)
onSelectedAddressCallback = (OnSelectedAddressCallback) activity;
else
throw new NullPointerException("必须在Activity中实现OnSelectedAddressCallback接口");
}
3 在Fragment中调用接口方法
onSelectedAddressCallback.onSelected(addressBean);
4 Activity实现接口AddressFragment.OnSelectedAddressCallback
5 复写接口方法完成回调事件处理
@Override
public void onSelected(@NonNull AddressBean address) {
// 点击item后将当前item中的地址对象返回给调用者
finish();
}
0 0
- 处理Fragment中退出Activity空指针异常
- activity+fragment模式下,fragment中Toast频繁空指针异常的问题
- Fragment中Toast报空指针异常
- Activity与Fragment搭配使用时,Fragment中使用Toast频繁出现空指针异常的解决办法
- Java中如何处理空指针异常
- 处理BigDecimal空指针异常
- java异常处理之空指针异常
- java异常处理之空指针异常
- 异常处理之空指针异常
- 关于在Fragment中通过Activity接口回调操作Fragment中控件报空指针问题
- 在fragment中使用ButterKnife, 加Okhttp等异步网络库时的空指针异常
- Android---Fragment中getActivity()提示空指针
- java中的空指针异常处理
- MyEclipse10 部署 空指针异常处理
- “空指针”引用导致“程序异常退出”两例
- fragment类中的点击事件空指针异常
- 空指针异常 anko for Android findviewbyId fragment ondestoryView
- 浅谈java异常处理之空指针异常
- MongoDB安装
- 电路与Multisim 电压表,电流表的使用
- 80386的寄存器组成
- Java 线程7
- 微信朋友圈的图片上传,多图上传怎么去撸才合适?我们一起来实现吧!
- 处理Fragment中退出Activity空指针异常
- Java线程创建与同步
- 尺度不变特征转换(SIFT)---转自维基百科
- Java 线程8
- 【年终总结】——盛开
- git常用功能总结
- 段描述符高速缓冲寄存器
- source命令
- 关于Android的.so文件你所需要知道的