致命异常 运行 AsyncTask
Fatal Exception running AsyncTask
我在尝试添加 url 进行解析时遇到问题,出现 FATAL EXCEPTION: AsyncTask # 1
错误,我不明白为什么。
这是我解析数据的方式:
@Override
protected ArrayList<TMOLectorClase> doInBackground(Void... voids) {
String url = getIntent().getStringExtra("url");
tmoLectorClases.clear();
try {
Document doc = Jsoup.connect(url).get();
Elements data = doc.select("div");
for (Element e : data) {
String urlRedireccionada = e.select("div.OUTBRAIN").attr("data-src");
try {
doc = Jsoup.connect(urlRedireccionada).get();
Elements dataNuevo = doc.select("div.img-container.text-center");
for (Element e1 : dataNuevo) {
String imgUrl = e1.select("img").attr("src");
tmoLectorClases.add(new TMOLectorClase(imgUrl));
}
} catch (IOException ie) {
ie.printStackTrace();
}
}
} catch (IOException e) {
e.printStackTrace();
}
return tmoLectorClases;
}
错误LogCat
我标记这一行:
doc = Jsoup.connect(urlRedireccionada).get();
随着错误:
Caused by: java.lang.IllegalArgumentException: Must supply a valid URL
发生的事情是这个 url
,它变成了这个 urlRedireccion
,我尝试将图像从 urlRedireccion
加载到 RecyclerView
。有人可以告诉我如何解决吗?调试代码,然后 url 如果有效:
解决方案是使用重定向的 url :
创建一个 String
String nuevaUrl = Jsoup.connect(url).followRedirects(true).execute().url().toExternalForm();
然后,您将添加到您的 Document
:
Document doc = Jsoup.connect(nuevaUrl).get();
我在尝试添加 url 进行解析时遇到问题,出现 FATAL EXCEPTION: AsyncTask # 1
错误,我不明白为什么。
这是我解析数据的方式:
@Override
protected ArrayList<TMOLectorClase> doInBackground(Void... voids) {
String url = getIntent().getStringExtra("url");
tmoLectorClases.clear();
try {
Document doc = Jsoup.connect(url).get();
Elements data = doc.select("div");
for (Element e : data) {
String urlRedireccionada = e.select("div.OUTBRAIN").attr("data-src");
try {
doc = Jsoup.connect(urlRedireccionada).get();
Elements dataNuevo = doc.select("div.img-container.text-center");
for (Element e1 : dataNuevo) {
String imgUrl = e1.select("img").attr("src");
tmoLectorClases.add(new TMOLectorClase(imgUrl));
}
} catch (IOException ie) {
ie.printStackTrace();
}
}
} catch (IOException e) {
e.printStackTrace();
}
return tmoLectorClases;
}
错误LogCat
我标记这一行:
doc = Jsoup.connect(urlRedireccionada).get();
随着错误:
Caused by: java.lang.IllegalArgumentException: Must supply a valid URL
发生的事情是这个 url
,它变成了这个 urlRedireccion
,我尝试将图像从 urlRedireccion
加载到 RecyclerView
。有人可以告诉我如何解决吗?调试代码,然后 url 如果有效:
解决方案是使用重定向的 url :
创建一个String
String nuevaUrl = Jsoup.connect(url).followRedirects(true).execute().url().toExternalForm();
然后,您将添加到您的 Document
:
Document doc = Jsoup.connect(nuevaUrl).get();