diff --git a/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt b/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt index 562221b83..53321030c 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt @@ -952,6 +952,7 @@ class ReadBookActivity : BaseReadBookActivity(), success: (() -> Unit)? ) { lifecycleScope.launch { + binding.readView.cancelSelect() binding.readView.upContent(relativePosition, resetPageOffset) if (relativePosition == 0) { upSeekBarProgress() @@ -980,6 +981,7 @@ class ReadBookActivity : BaseReadBookActivity(), override fun pageChanged() { pageChanged = true binding.readView.onPageChange() + binding.readView.cancelSelect() handler.post { upSeekBarProgress() } diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/entities/TextPage.kt b/app/src/main/java/io/legado/app/ui/book/read/page/entities/TextPage.kt index 1b45c457f..bdee00d0c 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/entities/TextPage.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/entities/TextPage.kt @@ -250,7 +250,7 @@ data class TextPage( */ fun getPosByLineColumn(lineIndex: Int, columnIndex: Int): Int { var length = 0 - val maxIndex = min(lineIndex, lineSize) + val maxIndex = min(lineIndex, lineSize - 1) for (index in 0 until maxIndex) { length += textLines[index].charSize if (textLines[index].isParagraphEnd) {