Release view bindings in SearchResultFragment.

This commit is contained in:
Isira Seneviratne 2023-02-11 14:53:05 +05:30
parent cec4f4da66
commit a0408840c4

View File

@ -25,7 +25,8 @@ import kotlinx.coroutines.withContext
import retrofit2.HttpException import retrofit2.HttpException
class SearchResultFragment : BaseFragment() { class SearchResultFragment : BaseFragment() {
private lateinit var binding: FragmentSearchResultBinding private var _binding: FragmentSearchResultBinding? = null
private val binding get() = _binding!!
private var nextPage: String? = null private var nextPage: String? = null
private var query: String = "" private var query: String = ""
@ -43,7 +44,7 @@ class SearchResultFragment : BaseFragment() {
container: ViewGroup?, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View { ): View {
binding = FragmentSearchResultBinding.inflate(layoutInflater, container, false) _binding = FragmentSearchResultBinding.inflate(layoutInflater, container, false)
return binding.root return binding.root
} }
@ -75,12 +76,18 @@ class SearchResultFragment : BaseFragment() {
fetchSearch() fetchSearch()
binding.searchRecycler.viewTreeObserver binding.searchRecycler.viewTreeObserver.addOnScrollChangedListener {
.addOnScrollChangedListener { if (_binding?.searchRecycler?.canScrollVertically(1) == false &&
if (!binding.searchRecycler.canScrollVertically(1)) { nextPage != null
if (nextPage != null) fetchNextSearchItems() ) {
} fetchNextSearchItems()
} }
}
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
} }
private fun fetchSearch() { private fun fetchSearch() {