空指针异常 anko for Android findviewbyId fragment ondestoryView

不废话直接上代码

HttpMethods.get().orderManage(object : Observer<HttpResult<OrderManageResult>> {
            override fun onNext(result: HttpResult<OrderManageResult>) {
                if (result.result == BaseActivity.SUCCESS) {
                    Handler().postDelayed({ orderDatasLl.visibility = View.INVISIBLE }, 2000)
                    val pageInfo = result.datas.pageInfo
                    if (pageInfo != null)
                        if (pageInfo.hasmore)
                            iRecyclerView.setLoadMoreEnabled(true)
                        else iRecyclerView.setLoadMoreEnabled(false)
                    val order_list = result.datas.order_list
                    returnListData(order_list)
                } else {
                    if (result.result == BaseActivity.NODATAS) {
                        orderListAdapter.clear()
                        orderDatasLl.visibility = View.VISIBLE
                    }
                    iRecyclerView.setRefreshing(false)
                }
            }

这里用到的是retrofit+rxjava+anko+IRecyclerView 框架 基本是目前最流行的框架
Handler().postDelayed({ orderDatasLl.visibility = View.INVISIBLE }, 2000)
这里模拟延时操作 当orderDatasLl 为anko根据id查找到如果走的OndesToryView
方法会报anko特有的空指针异常 这也是困扰我很久的bug 秘制崩溃

改成 findViewbyId 就不会空指针异常 也不用一大堆判断 是否被销毁了
下拉和上拉动画也都会收回

lateinit var iRecyclerView: IRecyclerView
lateinit var orderDatasLl: View
orderDatasLl = rootView?.findViewById(R.id.order_datas_ll) as View
iRecyclerView = rootView?.findViewById(R.id.irecyclerview) as IRecyclerView

新知识有新坑 这里做个笔记 也希望能解决遇到相同问题的人
当然也有很多其他的解法 目前就暂时这样吧

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值