2 回答
TA贡献1805条经验 获得超9个赞
您没有 在方法中更新任何适配器数据onPostExecute()并调用 notifyDatasetChanged
@Override
protected void onPostExecute(String result) {
adapter.notifyDataSetChanged();
isAlreadyRefresh = true;
swipeView.setRefreshing(false);
}
adapter.notifyDatasetChanged() 仅在更新适配器数据时才需要调用。
我看到您已在onRefresh()方法中更新了您的适配器数据,但您还没有调用adapter.notifyDatasetChanged(). 所以你需要添加notifyDatasetChanged,如下面的代码所示。
@Override
public void onRefresh() {
if (!isAlreadyRefresh) {
swipeView.setRefreshing(true);
swipeView.postDelayed(new Runnable() {
@Override
public void run() {
fetchNews();
isAlreadyRefresh = true;
adapter.setmValues(news);
adapter.notifyDatasetChanged() // <- Add this
}
}, 1000);
} else
swipeView.setRefreshing(false);
}
这可能是您RecyclerView未更新的原因之一
添加回答
举报