Столкнулся с проблемой, что паршу сайт в android studio на java, узнал, что в основном потоке парсить нельзя и нужно делать это из нового потока, но вот проблема, не получается произвести запись данных в переменные из потока или что-то делаю не так, подскажите пожалуйста, как осуществить запись в данные класса из созданного потока, спасибо
public class MainActivity extends AppCompatActivity {
ListView listView;
MyListAdapter adapter;
ArrayList<String> URL_pict = new ArrayList<String>();
Document doc, doc1;
Elements content;
ArrayList<String> titleList = new ArrayList<String>();
public ArrayList<String> title = new ArrayList<String>();
public ArrayList<String> subTitle = new ArrayList<String>();
public ArrayList<String> imageID = new ArrayList<String>();
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new NewThread().execute();
listView = (ListView) findViewById(R.id.listView_id);
adapter = new MyListAdapter(MainActivity.this, title, subTitle, imageID);
listView.setAdapter(adapter);
}
public class NewThread extends AsyncTask<String, Void, String> implements com.example.test_listview.NewThread {
@Override
protected String doInBackground(String... arg){
try {
doc = Jsoup.connect("...").get();
content = doc.select("p, img");
titleList.clear();
titleList.add(doc.title());
Elements table = doc.getElementsByClass("item-page");
Element page = table.get(0);
Elements links = page.select("a[href]");
// picture_preview
Elements pict_srcs = page.select("img[src]");
// preview
for (Element link : links) {
//previewPict
int count = 0;
String pict_src = "some_links" + pict_srcs.get(count).attr("src").toString();
URL_pict.add(pict_src);
count++;
doc1 = Jsoup.connect("..." + link.attr("href").toString()).get();
// get header of news
Elements titles = doc1.getElementsByClass("item-page");
Element title2 = titles.get(0);
Elements head = title2.select("h2");
// main text of news
Elements news_texts = doc1.getElementsByTag("p");
Element news_text = news_texts.get(10);
title.add("doc.title()");
subTitle.add("news_text.text()");
imageID.add("https://c4.wallpaperflare.com/wallpaper/71/196/981/digital-art-minimalism-nature-hills-wallpaper-preview.jpg");
break;
}
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}