jsoup php,使用Jsoup从php提取文本结果为空的textView

我需要天气报告以及最近的更新日期和时间(我阅读了源代码,并且信息在div#meteo_contenedor_avalanchas下),但是当我运行该项目时,我收到了一个空的textview.

这是我的代码:

public class Metreologia extends Activity {

public Metreologia(){}

String url = "http://www.catedralaltapatagonia.com/invierno/partediario.php";

ProgressDialog mProgressDialog;

public TextView avisostext;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.metereologia);

new Title().execute();

}

// Title AsyncTask

private class Title extends AsyncTask {

String text;

@Override

protected void onPreExecute() {

super.onPreExecute();

mProgressDialog = new ProgressDialog(Metreologia.this);

mProgressDialog.setTitle("Catedral Alta Patagonia");

mProgressDialog.setMessage("loading...");

mProgressDialog.setIndeterminate(false);

mProgressDialog.show();

}

@Override

protected Void doInBackground(Void... params) {

try {

// Connect to the web site

Document document = Jsoup.connect(url).get();

Element div = document.select("div#meteo_contenedor_avalanchas").first();

text = div.text();

System.out.println(text);

} catch (IOException e) {

e.printStackTrace();

}

return null;

}

@Override

protected void onPostExecute(Void result) {

TextView avisostext = (TextView) findViewById(R.id.ultactmetero);

avisostext.setText(text);

mProgressDialog.dismiss();

}

}

}

日志猫

06-04 11:28:04.522 3503-3536/info.blacktrail.catedral E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1

Process: info.blacktrail.catedral, PID: 3503

java.lang.RuntimeException: An error occured while executing doInBackground()

at android.os.AsyncTask$3.done(AsyncTask.java:304)

at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)

at java.util.concurrent.FutureTask.setException(FutureTask.java:222)

at java.util.concurrent.FutureTask.run(FutureTask.java:242)

at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)

at java.lang.Thread.run(Thread.java:818)

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String org.jsoup.nodes.Element.text()' on a null object reference

at info.blacktrail.catedral.Metreologia$Title.doInBackground(Metreologia.java:63)

at info.blacktrail.catedral.Metreologia$Title.doInBackground(Metreologia.java:42)

at android.os.AsyncTask$2.call(AsyncTask.java:292)

at java.util.concurrent.FutureTask.run(FutureTask.java:237)

解决方法:

通过浏览网站的代码,似乎可以得到上次更新时间:

String url = "http://www.catedralaltapatagonia.com/invierno/partediario.php?default_tab=0";

Document document = Jsoup.connect(url).get();

Element div = document.select("div#meteo_contenedor_avalanchas").first();

String text = div.text();

System.out.println(text);

印刷品:

ÚLTIMA ACTUALIZACIÓN PARTE DIARIO: FECHA: 03 de Junio de 2015 HORA: 09:00 hs

…这给出了天气报告:

String url = "http://www.catedralaltapatagonia.com/invierno/partediario.php?default_tab=0";

Document document = Jsoup.connect(url).get();

Element div = document.select("div#meteo_avalancha").first();

String text = div.text();

System.out.println(text);

印刷品:

RIESGO DE AVALANCHA: 2- MODERADO

您的问题可能是您正在尝试为TextView设置HTML表,因为您的代码确实为HTML表提供了很多额外的东西,而且我认为textview不支持html表.尝试上面的代码,现在让我看看是否可行.

标签:jsoup,android

来源: https://codeday.me/bug/20191120/2042301.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值