java - 与 Asynctask 适配的 Listview 不起作用
问题描述
我正在使用 Jsoup 和 Asynctask 抓取一些信息。
jsoup 和 asynctask 运行良好,但使用 listview 和适配器,我的模拟器没有显示任何爬行结果。
我尝试了很多东西,但我找不到任何理由。
import androidx.appcompat.app.AppCompatActivity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ListView;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
final ArrayList<String> title = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
swCrawling SW_crawling = new swCrawling();
SW_crawling.execute();
}
//Params, Progress, Result
private class swCrawling extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... params) {
final StringBuilder builder = new StringBuilder();
String url1 = "";
String my_link = null;
try {
Connection con = Jsoup.connect(url1);
Document doc = con.get();
Elements mElementDatas = doc.select("#body_line > nobr ");
String text = mElementDatas.text();
int i=0;
for (Element elem : mElementDatas) {
String my_title = elem.select("a span b").text();
title.add(my_title);
i++;
if(i>15) {
break;
}
}
} catch (IOException e) {
builder.append("Error");
}
return null;
}
}
protected void onPostExecute(Void result) {
ListView list=(ListView) findViewById(R.id.listview);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, title);
list.setAdapter(adapter);
}
}
xml 代码非常简单。只是一个列表视图!
我真的希望我能得到一些建议。
解决方案
推荐阅读
- mysql - 如何从两个数据库中查询数据并按范围分组结果
- java - 将 LocalDateTime 转换为时间戳格式
- firebase - Firestore 实时更新 1M 限制
- python - 建议在 tensorflow 2.0 中调试 `tf.data.Dataset` 操作
- php - 为什么 $post 在第三个代码中不是对象?
- java - ParseInt 在函数中抛出 NumberFormatExeption。功能有什么问题?
- html - 如何在 SquareSpace 中更改块的颜色
- javascript - 如何使用 Express 将请求正文解析为 JSON
- flutter - Flutter Listview Widget 测试失败,在列表中找不到错误文本?
- java - 使用自己的比较器从 TreeSet 中删除元素,在 TreeSet 中自动排序