Nil*_*zor 5 data-binding android android-databinding
我想在XML中建立一个ProgressBar和这样的WebView东西之间的关系:
<ProgressBar
android:id="@+id/progressBar"/>
<WebView
android:id="@+id/wvb_webView"
app:attachedProgressBar="@{@id/progressBar}"/>
Run Code Online (Sandbox Code Playgroud)
使用此代码,我可以创建一个BindingAdapter像这样的接线:
@BindingAdapter({"app:attachedProgressBar"})
public static void setAttachedProgressBar(WebView webView, @IdRes int progressBarId) {
ProgressBar progBar = (ProgressBar) DataBindingUtil.getBinding(webView).getRoot().findViewById(progressBarId);
wireStuff(webView, progBar);
}
Run Code Online (Sandbox Code Playgroud)
这有效,但我不得不打电话给我findViewById.有没有什么办法可以重构XML和BindingAdapter直接引用ProgressBaras输入而不是@IdRes int?
Rav*_*avi 12
而不是id,直接传入ProgressBar你的BindingAdapter
@BindingAdapter({"app:attachedProgressBar"})
public static void setAttachedProgressBar(WebView webView, ProgressBar progBar) {
wireStuff(webView, progBar);
}
Run Code Online (Sandbox Code Playgroud)
XML代码:
<ProgressBar
android:id="@+id/progressBar"/>
<WebView
android:id="@+id/wvb_webView"
app:attachedProgressBar="@{progressBar}"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1111 次 |
| 最近记录: |