2016-11-29 19 views
1

J'ai implémenté DataBinding avec le modèle MVVM, voici ma classe ViewModel.La liaison de données BR ne montre pas tout le nom de la variable

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); 
    } 
} 

maintenant le problème est que je peux voir BR.data là, mais pas en mesure d'obtenir BR.data1, comment utiliser notifyPropertyChanged() pour la variable data1.

J'ai essayé de nettoyer le projet, j'ai aussi essayé de le reconstruire mais cela ne m'a pas aidé.

Voici mon build.gradle fichier

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

pouvez-vous publier votre fichier 'gradle'? et une fois essayez d'invalider les caches et redémarrer. – Ironman

+0

visiter ceci: http://stackoverflow.com/questions/30776466/cannot-find-symbol-br-in-android-data-binding – Ironman

+0

Mais c'est à propos de la classe BR, je n'ai aucune erreur avec la classe BR, il est juste ne montrant pas toute variable. Toujours laissez-moi essayer avec 'Invalidate Caches and Restart' –

Répondre

2

J'ai trouvé quelques façons de résoudre ce problème.

1) Essayez avec Invalidate caches and restart dans android studio.
2) Comme yigit l'ont mentionné, il s'agit d'un bug de studio android, vous pouvez directement utiliser une variable au lieu d'attendre que le nom de variable vienne en suggestion.