2016-03-04 38 views
3

我試圖使用android數據綁定。但是當我使用android:visibility時,我遇到了一些問題。像android:visibility="size == 0?View.GONE : View.VISIBLE」。android:顯示器前狀態延遲的可見性

當返回false時,它首先會顯示這個觀點,那麼對於同時轉向走了。

我能解決這個問題嗎?或者這是databing的bug?

回答

0

我曾經那麼我用下面的代碼代替,首先,寫一個助手嘗試這樣的代碼 android:visibility="@{size==0?View.GONE:View.VISIBLE}", 但它不能compiled.I不知道爲什麼,也許這是一個錯誤。

public class Helper { 
    @BindAdapter("bind:attr") 
    public static void setAttr(View view, Object obj) { 
     if (someCondition(obj)){ 
      view.doSomething(); 
     } 
    } 
} 

其次,在XML文件中使用自定義的ATTR

<View 
    ...other attrs... 
    app:attr="@{obj}" /> 

注:

在註釋中的 'ATTR' 必須與XML文件中使用 'ATTR' 相同。

View中的靜態方法必須與View中的xml文件相同。

我的搖籃版本和DataBinder的版本

dependencies { 
    classpath 'com.android.tools.build:gradle:1.5.0' 
    classpath "com.android.databinding:dataBinder:1.+" 
} 

而且,取消對這一觀點無關的其他業務。

或提供您的活動代碼。

+0

謝謝!讓我試試 –

+0

我試過你的方法,但它仍然存在這個問題。它不工作(我的英文很差。) –

+0

你不應該需要'dataBinder:1. +'行。您應該只需要在android部分中使用dataBinding.enabled = true啓用數據綁定。請參閱http://developer.android.com/tools/data-binding/guide.html –