Я использовал Android-PullToRefresh от chrisbanes
, чтобы показать ход обновления в моем приложении.
Я загружаю данные в AsyncTask, поэтому начинаю обновление, вызывая mPullRefreshListView.setRefreshing();
в методе onPreExecute
.
и остановите обновление, вызвав mPullRefreshListView.onRefreshComplete();
в методе onPostExecute
.
Это прекрасно работает. Но проблема возникает, когда сеть не работает. Потому что я больше не буду использовать AsyncTask, когда сеть не работает, вместо этого я загружаю локальный кеш.
Я не хочу показывать анимацию PullToRefresh
при обновлении, если сеть не работает, но поскольку он зарегистрировал setOnRefreshListener
, каждый раз, когда пользователь вытаскивает ListView, он показывает анимацию обновления и никогда не исчезает.
Пробовал отключать анимацию вызовом mPullRefreshListView.onRefreshComplete();
, не помогает.
if (!Utils.isNetworkOn()) {
if (mPullRefreshListView.isRefreshing())
mPullRefreshListView.onRefreshComplete();
}
Меня это очень смущает, кто-нибудь знает, как с этим справиться?
Заранее спасибо.