我正在自己的項目上工作。我遇到了一個問題,我希望你們中的一些人想幫助我。我想解析一個HTML表格從一個特定的網站到android listview。我已經有一些代碼,但不幸的是我沒有在我的列表視圖中看到表格數據。所以有些事情出錯了。我希望你能幫助我。解析HTML表格到ListView Android與JSoup
我知道一個調用正確的數據,因爲當我把代碼放在safari控制檯中時,我會得到一個我選擇的表的結果。所以我認爲doc.select();是對的。
不幸的是問題仍然沒有解決,因爲我得到了一個NetworkOnMainThreadException。我知道我必須用Async做點什麼。我查看了更多網站,但我無法找到有關Async的良好解釋。如果有人會幫助我,將不勝感激。
這是我的代碼:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_clubkampioenschappen_singleen_dubbel);
this.setTitle("Clubkampioenschappen Single en Dubbel");
ArrayList<String> list = new ArrayList<String>();
Document doc = null;
try {
doc = Jsoup.connect("https://tennisnaarden.planmysport.com/portal/page/pmsportal30/TVNaarden/Toernooien/Clubtoernooi").get();
} catch (IOException e) {
e.printStackTrace();
}
Elements elements = doc.select("#pcnt1383_8158836_1383_4326089_4326089 td:first-child");
//list.add("Onderdelen");
for(int i=0;i<elements.size();i++)
{
list.add(elements.get(i).text());
System.out.println(elements.get(i).text());
}
ListAdapter OnderdeelAdapater = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);
ListView Onderdelen = (ListView) findViewById(R.id.Onderdelen);
Onderdelen.setAdapter(OnderdeelAdapater);
}
如果您的「嘗試」塊失敗,則需要事後返回。相反,您嘗試使用「select」語句從** doc **中讀取數據,但如果「try」失敗,** doc **將爲NULL,並且會出現另一個錯誤。 – jp2code