androidbroadcast / ViewBindingPropertyDelegate

Make work with Android View Binding simpler
https://proandroiddev.com/make-android-view-binding-great-with-kotlin-b71dd9c87719
Apache License 2.0
1.42k stars 102 forks source link

Fragment doesn't have view associated with it or the view has been destroyed #71

Closed art-ylem closed 3 years ago

art-ylem commented 3 years ago

class BasketFragment : BaseFragment(R.layout.fragment_basket) { private val binding by viewBinding(FragmentBasketBinding::bind)

binding.webView.webViewClient = object : WebViewClient() {

            override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
                super.onPageStarted(view, url, favicon)
                showLoader()
            }

            override fun onPageFinished(view: WebView?, url: String?) {
                super.onPageFinished(view, url)
                hideLoader()
            }
}

}

kirich1409 commented 3 years ago

The callback can be called when view isn't exist. I recommend you to check that

object : WebViewClient() {
        override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
            super.onPageStarted(view, url, favicon)
            if (view != null) {
                 showLoader()
            }
        }

        override fun onPageFinished(view: WebView?, url: String?) {
            super.onPageFinished(view, url)
            if (view != null) {
                hideLoader()
            }
        }
}
art-ylem commented 3 years ago

Thanks for your recommendation.