Android: соскабливание статей с помощью jsoup

Во-первых, давайте подведем итог тому, что я пытаюсь сделать. Я создаю приложение для Android для своей школы, которое в основном скрежет статей моих школьных сообщений на своем веб-сайте и сначала перечисляет их в recyclerview, а затем вы можете прочитать их в подробном виде.

Для соскабливающей части я использую Jsoup. Я получил подробный обзор, а также recycleview. Все работает отлично, без соскабливающей части.

Когда я очищаю отдельную статью до подробного обзора, она работает без проблем. Проблема в том, что я пытаюсь очистить все заголовки веб-страницы и отобразить их в моем recyclerview.

Вот скриншот того, что я пытаюсь очистить, и мой код:

Исходный аннотированный скриншот веб-страницы

Я пытаюсь получить все названия и URL-адреса. Вот часть кода веб-сайта, мне нужно то, что находится в промежутках с «font-size: 1em;» и ссылку href.

<div class="col-xs-6 col-sm-4 col-md-3" class="derniers3articles" style="height:250px;"> <a href="https://legymnase.eu/2017/11/frum-franco-allemand/" style="text-decoration:none;"> <figure class="mini_img"><img src="http://img.ohandroid.com/java/forumff-250x150.jpg" width="250" height="150" alt="" class="image3derniers arrondie"></figure> <span style="color:grey;">20-Nov-2017</span><br> <span style="font-size:1em;">Forum franco-allemand</span> </a> 

18-Ноябрь-2017
Les élèves de 1ES, de futurs citoyens … 14-Nov-2017
Ventes de gâteaux afin de financer le …

Вот мой код:

 class LyceeList : AppCompatActivity() { var titles = ArrayList<String>() var urls = ArrayList<String>() var articles = ArrayList<Article>() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_lycee) val recyclerView = findViewById<RecyclerView>(R.id.lyceeRecycler) as RecyclerView recyclerView.layoutManager = LinearLayoutManager(this, LinearLayout.VERTICAL, false) val recupArticles: AsyncTask<Void, Void, Void>? = RecupArticles().execute() for (i in 0 until urls.size) { articles.add(Article(urls[i], titles[i])) } val adapter = LyceeAdapter(articles) recyclerView.adapter = adapter } inner class RecupArticles : AsyncTask<Void, Void, Void>() { override fun doInBackground(vararg p0: Void?): Void? { try { var doc: Document = Jsoup.connect("https://legymnase.eu/lycee/").get() val titlesElement : Elements = doc.select("div.derniers3articles > span") val urlsProvisory : Elements = doc.select("div.derniers3articles > a") val urlsElement : Elements = doc.select("a[href]") for (i in 0 until titlesElement.size) { titles[i] = titlesElement.get(i).text() } for (i in 0 until urlsElement.size) { urls[i] = urlsElement.get(i).text() } } catch (e: Exception) { e.printStackTrace() } return null } override fun onPostExecute(result: Void?) { super.onPostExecute(result) } } 

}

Если я вручную добавлю статью, например .add (Article («Testurl», «TestTitle»), она появляется в recyclerview. Но это не так. После нескольких тестов я чувствую, что в моем цикле в onCreate массивы пусто … У вас есть идеи, пожалуйста?

Кроме того, еще одна второстепенная проблема: как я могу реализовать onclicklistener в одиночных карточках, чтобы отправить URL-адрес активности «articleDetail» и открыть его? Должен ли я указывать URL как дополнительный для намерения? (этот вопрос является второстепенным, первый – тот, который нужно решить).

Большое спасибо заранее !