From eda9e8cc71dc8ec02c793d2b04d625709e473d7c Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Wed, 5 Mar 2025 22:22:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/ui/book/manga/ReadMangaActivity.kt | 32 +++++++------------ .../app/ui/book/manga/rv/MangaAdapter.kt | 2 +- 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/book/manga/ReadMangaActivity.kt b/app/src/main/java/io/legado/app/ui/book/manga/ReadMangaActivity.kt index a99f0d51f..b0caa8f21 100644 --- a/app/src/main/java/io/legado/app/ui/book/manga/ReadMangaActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/manga/ReadMangaActivity.kt @@ -58,7 +58,6 @@ import io.legado.app.utils.fromJsonObject import io.legado.app.utils.getCompatColor import io.legado.app.utils.gone import io.legado.app.utils.observeEvent -import io.legado.app.utils.printOnDebug import io.legado.app.utils.showDialogFragment import io.legado.app.utils.toastOnUi import io.legado.app.utils.toggleStatusBar @@ -208,26 +207,19 @@ class ReadMangaActivity : VMBaseActivity() } } setNestedPreScrollListener { _, _, _, position -> - if (mAdapter.getCurrentList().isNotEmpty() - && position <= mAdapter.getCurrentList().lastIndex - ) { - try { - val content = mAdapter.getCurrentList()[position] - if (content is MangaContent) { - ReadManga.durChapterIndex = content.mChapterIndex - ReadManga.durChapterPos = content.mDurChapterPos - upInfoBar( - content.mChapterIndex + 1, - content.chapterSize, - content.mDurChapterPos + 1, - content.mDurChapterCount, - content.mChapterName - ) - } - } catch (e: Exception) { - e.printOnDebug() + if (mAdapter.isNotEmpty()) { + val content = mAdapter.getItem(position) + if (content is MangaContent) { + ReadManga.durChapterIndex = content.mChapterIndex + ReadManga.durChapterPos = content.mDurChapterPos + upInfoBar( + content.mChapterIndex + 1, + content.chapterSize, + content.mDurChapterPos + 1, + content.mDurChapterCount, + content.mChapterName + ) } - } } addRecyclerViewPreloader(AppConfig.mangaPreDownloadNum) diff --git a/app/src/main/java/io/legado/app/ui/book/manga/rv/MangaAdapter.kt b/app/src/main/java/io/legado/app/ui/book/manga/rv/MangaAdapter.kt index fd31cea88..c0d4a22ae 100644 --- a/app/src/main/java/io/legado/app/ui/book/manga/rv/MangaAdapter.kt +++ b/app/src/main/java/io/legado/app/ui/book/manga/rv/MangaAdapter.kt @@ -59,7 +59,7 @@ class MangaAdapter(private val context: Context) : private val mDiffer = AsyncListDiffer(this, mDiffCallback) - private fun getItem(@IntRange(from = 0) position: Int) = mDiffer.currentList[position] + fun getItem(@IntRange(from = 0) position: Int) = mDiffer.currentList.getOrNull(position) fun getCurrentList() = mDiffer.currentList