小编Dio*_*ira的帖子

在 Kotlin 中使用 MVVM 实现双向数据绑定 WebView

我正在尝试在我的所有应用程序中实现 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)

android mvvm webview kotlin

4
推荐指数
1
解决办法
5716
查看次数

标签 统计

android ×1

kotlin ×1

mvvm ×1

webview ×1