2016-11-29 1 views
1

Я реализовал DataBinding с шаблоном MVVM, вот мой класс ViewModel.Databinding BR не показывает все имя переменной

public class MainViewModel extends BaseObservable { 
    private String data, data1; 

    @Bindable 
    public String getData1() { 
     return data1; 
    } 

    public void setData1(String data1) { 
     this.data1 = data1; 
    } 

    @Bindable 
    public String getData() { 
     return data; 
    } 

    public void setData(String data) { 
     this.data = data; 
     notifyPropertyChanged(BR.data); 
    } 
} 

теперь проблема я могу видеть BR.data там, но не в состоянии получить BR.data1, как использовать notifyPropertyChanged() для data1 переменной.

Я попытался очистить проект, а также попытался с его восстановлением, но не помог мне.

Вот мой build.gradle файл

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 

    dataBinding { 
     enabled = true 
    } 

    defaultConfig { 
     ... 
     ... 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 

} 
+0

Вы можете разместить свой файл 'gradle'? и попробуйте «Invalidate Caches and Restart». – Ironman

+0

Посетите это: http://stackoverflow.com/questions/30776466/cannot-find-symbol-br-in-android-data-binding – Ironman

+0

Но это о классе BR, у меня нет ошибок с классом BR, это просто не показывает всю переменную. Еще раз попробую с помощью 'Invalidate Caches and Restart' –

ответ

2

Я нашел несколько способов решить эту проблему.

1) Попробуйте с Invalidate caches and restart в студии android.
2) Как упомянуто yigit, это ошибка студии android, вы можете напрямую использовать переменную вместо того, чтобы ждать появления имени переменной в качестве предложения.

Смежные вопросы