簡體   English   中英

我可以在Android上將視圖作為數據綁定BindingAdapter的輸入嗎?

[英]Can I have a View as input to a data binding BindingAdapter on Android?

我想在XML中建立ProgressBarWebView之間的關系:

    <ProgressBar
        android:id="@+id/progressBar"/>

    <WebView
        android:id="@+id/wvb_webView"
        app:attachedProgressBar="@{@id/progressBar}"/> 

使用此代碼,我可以創建一個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); 
}

這有效,但讓我覺得我必須調用findViewById 有沒有什么方法可以重構XML和BindingAdapter直接引用ProgressBar作為輸入而不是@IdRes int

而不是id,直接在BindingAdapter傳遞ProgressBar

@BindingAdapter({"app:attachedProgressBar"})
public static void setAttachedProgressBar(WebView webView, ProgressBar progBar) {        
    wireStuff(webView, progBar); 
}

XML代碼:

<ProgressBar
    android:id="@+id/progressBar"/>

<WebView
    android:id="@+id/wvb_webView"
    app:attachedProgressBar="@{progressBar}"/> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM