我想要 android webview 数据绑定在 mvvm 模式

i want android webview data binding in mvvm pattern

我想要android mvvm 模式中的 webview 数据绑定

我的代码(查看模型)

  companion object {
        @JvmStatic
        @BindingAdapter("loadUrl")
        fun WebView.setUrl(url: String) {
            this.loadUrl(url)
        }
    }

xml

<WebView
                android:id="@+id/webViewTerm"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:loadUrl="@{signUpViewModel.url}"
                />

绑定成功,

但我想添加一个额外的 header ,我不知道如何将我想要的数据放入 object 绑定到同伴 object

你能给我一点提示吗?

您可以将额外的 headers 传递给您的 WebView 标签。请参阅下面的示例。

在您的 XML 中,将 headers 添加到您的 XML 标签:

<WebView
    android:id="@+id/webViewTerm"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:loadUrl="@{signUpViewModel.url}"
    app:headers="@{signUpViewModel.headers}"
    />

在您的代码中:

 @JvmStatic
 @BindingAdapter(value = ["app:URL","app:headers"], requireAll = true)
 fun loadUrl(view: WebView, url:String?, extraHeaders:Map<String, String> )
  {
     view.loadUrl(url,extraHeaders)
  }