@@ -107,6 +107,7 @@ import org.fossify.notes.extensions.config
107107import org.fossify.notes.extensions.getPercentageFontSize
108108import org.fossify.notes.extensions.notesDB
109109import org.fossify.notes.extensions.parseChecklistItems
110+ import org.fossify.notes.extensions.safeSetSelection
110111import org.fossify.notes.extensions.updateWidgets
111112import org.fossify.notes.extensions.widgetsDB
112113import org.fossify.notes.fragments.TextFragment
@@ -608,6 +609,9 @@ class MainActivity : SimpleActivity() {
608609 }
609610
610611 binding.viewPager.onPageChangeListener {
612+ searchIndex = 0
613+ searchMatches = emptyList()
614+
611615 currentTextFragment?.removeTextWatcher()
612616 currentNotesView()?.let { noteView ->
613617 noteView.text!! .clearBackgroundSpans()
@@ -641,7 +645,7 @@ class MainActivity : SimpleActivity() {
641645
642646 if (searchMatches.isNotEmpty()) {
643647 noteView.requestFocus()
644- noteView.setSelection (searchMatches.getOrNull(searchIndex) ? : 0 )
648+ noteView.safeSetSelection (searchMatches.getOrNull(searchIndex) ? : 0 )
645649 }
646650
647651 searchQueryET.postDelayed({
@@ -681,7 +685,7 @@ class MainActivity : SimpleActivity() {
681685 private fun selectSearchMatch (editText : MyEditText ) {
682686 if (searchMatches.isNotEmpty()) {
683687 editText.requestFocus()
684- editText.setSelection (searchMatches.getOrNull(searchIndex) ? : 0 )
688+ editText.safeSetSelection (searchMatches.getOrNull(searchIndex) ? : 0 )
685689 } else {
686690 hideKeyboard()
687691 }
@@ -694,7 +698,7 @@ class MainActivity : SimpleActivity() {
694698
695699 currentNotesView()?.let { noteView ->
696700 noteView.requestFocus()
697- noteView.setSelection (0 )
701+ noteView.safeSetSelection (0 )
698702 }
699703
700704 searchQueryET.postDelayed({
0 commit comments