diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/ContentTextView.kt b/app/src/main/java/io/legado/app/ui/book/read/page/ContentTextView.kt index 68bd01393..057ce29bd 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/ContentTextView.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/ContentTextView.kt @@ -392,11 +392,12 @@ class ContentTextView(context: Context, attrs: AttributeSet?) : View(context, at pos.lineIndex = lineIndex textLine.textChars.forEachIndexed { charIndex, textChar -> pos.charIndex = charIndex - if (pos.compare(selectStart) >= 0 - && pos.compare(selectEnd) <= 0 - ) { + val compareStart = pos.compare(selectStart) + val compareEnd = pos.compare(selectEnd) + if (compareStart >= 0 && compareEnd <= 0) { builder.append(textChar.charData) - if (charIndex == textLine.charSize - 1 + if (compareEnd != 0 + && charIndex == textLine.charSize - 1 && textLine.text.endsWith("\n") ) { builder.append("\n") @@ -405,9 +406,6 @@ class ContentTextView(context: Context, attrs: AttributeSet?) : View(context, at } } } - if (builder.endsWith("\n")) { - return builder.substring(0, builder.lastIndex) - } return builder.toString() }