优化
This commit is contained in:
@@ -83,6 +83,7 @@ class SearchActivity : VMBaseActivity<ActivityBookSearchBinding, SearchViewModel
|
|||||||
private var historyFlowJob: Job? = null
|
private var historyFlowJob: Job? = null
|
||||||
private var booksFlowJob: Job? = null
|
private var booksFlowJob: Job? = null
|
||||||
private var precisionSearchMenuItem: MenuItem? = null
|
private var precisionSearchMenuItem: MenuItem? = null
|
||||||
|
private var isManualStopSearch = false
|
||||||
|
|
||||||
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
||||||
binding.llInputHelp.setBackgroundColor(backgroundColor)
|
binding.llInputHelp.setBackgroundColor(backgroundColor)
|
||||||
@@ -180,6 +181,7 @@ class SearchActivity : VMBaseActivity<ActivityBookSearchBinding, SearchViewModel
|
|||||||
override fun onQueryTextSubmit(query: String): Boolean {
|
override fun onQueryTextSubmit(query: String): Boolean {
|
||||||
searchView.clearFocus()
|
searchView.clearFocus()
|
||||||
query.trim().let { searchKey ->
|
query.trim().let { searchKey ->
|
||||||
|
isManualStopSearch = false
|
||||||
viewModel.saveSearchKey(searchKey)
|
viewModel.saveSearchKey(searchKey)
|
||||||
viewModel.searchKey = ""
|
viewModel.searchKey = ""
|
||||||
viewModel.search(searchKey)
|
viewModel.search(searchKey)
|
||||||
@@ -234,6 +236,14 @@ class SearchActivity : VMBaseActivity<ActivityBookSearchBinding, SearchViewModel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
binding.recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() {
|
||||||
|
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
|
||||||
|
super.onScrolled(recyclerView, dx, dy)
|
||||||
|
if (!recyclerView.canScrollVertically(1)) {
|
||||||
|
scrollToBottom()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initOtherView() {
|
private fun initOtherView() {
|
||||||
@@ -244,6 +254,7 @@ class SearchActivity : VMBaseActivity<ActivityBookSearchBinding, SearchViewModel
|
|||||||
.create()
|
.create()
|
||||||
binding.fbStartStop.setOnClickListener {
|
binding.fbStartStop.setOnClickListener {
|
||||||
if (viewModel.isSearchLiveData.value == true) {
|
if (viewModel.isSearchLiveData.value == true) {
|
||||||
|
isManualStopSearch = true
|
||||||
viewModel.stop()
|
viewModel.stop()
|
||||||
binding.refreshProgressBar.isAutoLoading = false
|
binding.refreshProgressBar.isAutoLoading = false
|
||||||
} else {
|
} else {
|
||||||
@@ -295,6 +306,21 @@ class SearchActivity : VMBaseActivity<ActivityBookSearchBinding, SearchViewModel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 滚动到底部事件
|
||||||
|
*/
|
||||||
|
private fun scrollToBottom() {
|
||||||
|
if (isManualStopSearch) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (viewModel.isSearchLiveData.value == false
|
||||||
|
&& viewModel.searchKey.isNotEmpty()
|
||||||
|
&& viewModel.hasMore
|
||||||
|
) {
|
||||||
|
viewModel.search("")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 打开关闭输入帮助
|
* 打开关闭输入帮助
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user