我想要 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)
}
我想要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)
}