我正在尝试在我的所有应用程序中实现 MVVM,而且我对此很陌生,所以我想通过我的 ViewModel 加载一个 webview,但我不知道如何做到这一点的最佳方法,如果还有一个进度条当我的网络视图加载时出现。
这是代码:
class NewWebViewFragment : Fragment() {
private lateinit var viewModel: NewWebViewViewModel
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val binding: FragmentWebViewBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_web_view, container, false)
val webViewModelo = ViewModelProviders.of(this).get(NewWebViewViewModel::class.java)
binding.webViewModel = webViewModelo
binding.lifecycleOwner = this
return binding.root
}
}
Run Code Online (Sandbox Code Playgroud)
现在我的视图模型:
class NewWebViewViewModel : ViewModel() {
//Implement in MVVM
private fun showWebView(webView: WebView, progressBar: ProgressBar) {
webView.webViewClient = WebViewClient()
webView.webChromeClient = WebChromeClient()
val webSettings = webView.settings
webSettings.javaScriptEnabled = true
webView.loadUrl("https://brand.randombrand.com/en/")
webView.webViewClient = …Run Code Online (Sandbox Code Playgroud)