diff --git a/app/src/main/java/io/legado/app/model/webBook/SearchBookModel.kt b/app/src/main/java/io/legado/app/model/webBook/SearchBookModel.kt index c252c567f..1224979af 100644 --- a/app/src/main/java/io/legado/app/model/webBook/SearchBookModel.kt +++ b/app/src/main/java/io/legado/app/model/webBook/SearchBookModel.kt @@ -54,6 +54,7 @@ class SearchBookModel(private val scope: CoroutineScope, private val callBack: C } else { searchPage++ } + searchIndex = -1 for (i in 0 until threadCount) { search(searchId) } diff --git a/app/src/main/java/io/legado/app/ui/book/search/SearchViewModel.kt b/app/src/main/java/io/legado/app/ui/book/search/SearchViewModel.kt index 564b2bb3e..179b2cd9b 100644 --- a/app/src/main/java/io/legado/app/ui/book/search/SearchViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/search/SearchViewModel.kt @@ -30,13 +30,16 @@ class SearchViewModel(application: Application) : BaseViewModel(application), * 开始搜索 */ fun search(key: String) { - if ((searchKey != key && key.isEmpty()) || key.isNotEmpty()) { + if ((searchKey == key) || key.isNotEmpty()) { searchBookModel.cancelSearch() searchBooks.clear() searchBookLiveData.postValue(searchBooks) searchID = System.currentTimeMillis() searchKey = key } + if (searchKey.isEmpty()) { + return + } searchBookModel.search(searchID, searchKey) } @@ -111,7 +114,7 @@ class SearchViewModel(application: Application) : BaseViewModel(application), && item.author == searchBook.author ) { hasSame = true - searchBook.addOrigin(item.bookUrl) + searchBook.addOrigin(item.origin) break } }