如何解决如何使用 SwipeRefreshLayout 在片段中成功刷新 Recyclerview
我正在使用 jsoup 从网站获取数据到 recyclerview 中,但我不太清楚我应该如何使用 swiperefreshlayout 刷新和更新 recyclerview。有人可以帮忙解释一下我在下面的代码中的 onRefresh 中放入了哪些代码才能在下拉时刷新?
Content content = new Content();
content.execute();
swipeRefreshLayout.setonRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
swipeRefreshLayout.setRefreshing(false);
//What do I put in here??
}
});
return root;
}
private class Content extends AsyncTask<Void,Void,Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
progressBar.setVisibility(View.VISIBLE);
//progressBar.startAnimation(AnimationUtils.loadAnimation(getActivity(),android.R.anim.fade_in));
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
progressBar.setVisibility(View.GONE);
//progressBar.startAnimation(AnimationUtils.loadAnimation(getActivity(),android.R.anim.fade_out));
adapter.notifyDataSetChanged();
}
@Override
protected Void doInBackground(Void... voids) {
try {
String url = "https://www.mywebsite.com";
Document doc = Jsoup.connect(url).get();
Elements data = doc.select(".thisurl");
int size = data.size();
Log.d("doc","doc: " + doc);
Log.d("data","data: " + data);
Log.d("size","" + size);
for (int i = 0; i < size; i++) {
String date = doc.select(".b-time").eq(i).text();
String league = doc.select(".card-competition-title").eq(i).text();
String homelogo = data.select(".card-vs-left")
.select("img")
.eq(i)
.attr("src");
String homeTeam = doc.select(".card-vs-left").eq(i).text();
String awaylogo = data.select(".card-vs-right")
.select("img")
.eq(i)
.attr("src");
String awayTeam = doc.select(".card-vs-right").eq(i).text();
String pick = doc.select("span.card-our-prono").eq(i).text();
sportyParseItems.add(new SportyParseItem(date,league,homelogo,homeTeam,awaylogo,awayTeam,pick));
Log.d("items","img: " + homelogo + "img:" + awaylogo + " . title: " + league);
}
} catch (IOException e) {
e.printstacktrace();
}
return null;
}
}
解决方法
swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
swipeRefreshLayout.setRefreshing(true);
content.execute();
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。