不废话直接上代码
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新知识有新坑 这里做个笔记 也希望能解决遇到相同问题的人 当然也有很多其他的解法 目前就暂时这样吧