PullToRefreshListView手动刷新问题

1、第一次进入界面刷新无效,需要延时刷新

new Handler().postDelayed(new Runnable() {

			@Override
			public void run() {
				// TODO 自动生成的方法存根
				nearbyBusinessListView.setRefreshing(true);
			}
		}, 200);

2、改变条件需要再次刷新时,如果之前已经从底部加载了,直接手动刷新会显示底部刷新界面mFooterLayout

     解决方案:在RullToRefreshBase中添加方法:

public void setCurrentMode(Mode startMode) {
		mCurrentMode = startMode;
	}

  在自己的代码中设置当前的加载方式

new Handler().postDelayed(new Runnable() {

			@Override
			public void run() {
				// TODO 自动生成的方法存根
				Mode currentMode = nearbyBusinessListView.getCurrentMode();
				if (!currentMode.equals(Mode.PULL_FROM_START)) {
					nearbyBusinessListView.setCurrentMode(Mode.PULL_FROM_START);
				}
				nearbyBusinessListView.setRefreshing(true);
			}
		}, 200);

  

原文地址:https://www.cnblogs.com/diyishijian/p/5953760.html