diff --git a/app/src/main/java/io/legado/app/ui/book/search/SearchActivity.kt b/app/src/main/java/io/legado/app/ui/book/search/SearchActivity.kt index 36ebf13af..43dbeca82 100644 --- a/app/src/main/java/io/legado/app/ui/book/search/SearchActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/search/SearchActivity.kt @@ -171,7 +171,7 @@ class SearchActivity : VMBaseActivity(R.layout.activity_book_se } private fun scrollToBottom() { - if (!viewModel.isLoading) { + if (!viewModel.isLoading && viewModel.searchKey.isNotEmpty()) { viewModel.search("") } } 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 a271f794a..9700fafb0 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 @@ -27,17 +27,20 @@ class SearchViewModel(application: Application) : BaseViewModel(application) { fun search(key: String) { task?.cancel() - if (key.isEmpty()) { + if (key.isEmpty() && searchKey.isEmpty()) { + return + } else if (key.isEmpty()) { + isLoading = true searchPage++ - } else { + } else if (key.isNotEmpty()) { + isLoading = true + searchPage = 0 searchKey = key searchBooks.clear() } - if (searchKey.isEmpty()) return startTime = System.currentTimeMillis() callBack?.startSearch() task = execute { - isLoading = true val searchGroup = context.getPrefString("searchGroup") ?: "" val bookSourceList = if (searchGroup.isBlank()) { App.db.bookSourceDao().allEnabled