SwipeRefreshLayout 报错 dispatchTouchEvent

今天开发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 是否为空,导致空指针异常

原文地址:https://www.cnblogs.com/night-ride-depart/p/6659335.html