首页 > 技术文章 > SwipeRefreshLayout 报错 dispatchTouchEvent

night-ride-depart 2017-04-02 17:04 原文

今天开发android中使用了 android-suport-v4 19.1

记录 SwipeRefreshLayout 的坑:

http://stackoverflow.com/questions/24742031/swiperefreshlayout-with-emptyview-nullpointerexception

在此版本中,如果没有设置刷新监听事件OnRefreshListener就会报错,必须设置OnRefreshListener,比如:

        mSRF.setOnRefreshListener(new OnRefreshListener() { .......})

原因:见SwipeRefreshLayout 源码 441 行,

removeCallbacks(mCancel);
mReturnToStartPosition.run();
setRefreshing(true);
mListener.onRefresh();

最后一行没有检测 mListener 是否为空,导致空指针异常

 

推荐阅读