add PullToRefreshListener