2016-11-29 5 views
1

Ich habe DataBinding mit MVVM Muster implementiert, hier ist meine ViewModel Klasse.Datenbindung BR nicht alle Variablennamen

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

jetzt das Problem ist, ich BR.data dort sehen kann, aber nicht in der Lage BR.data1 zu bekommen, wie notifyPropertyChanged() für data1 Variable zu verwenden.

Ich habe versucht, das Projekt zu reinigen, versuchte es auch mit dem Wiederaufbau, aber hat mir nicht geholfen.

Hier ist meine build.gradle Datei

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

können Sie Ihre 'gradle' Datei posten? und versuchen Sie einmal, Caches ungültig zu machen und neu zu starten. – Ironman

+0

besuchen Sie diese: http://StackOverflow.com/Questions/30776466/Cannot-Find-Symbol-br-in-android-Data-binding – Ironman

+0

Aber das ist über BR-Klasse, ich habe keinen Fehler mit BR-Klasse, es zeigt nur nicht alle Variablen an. Lassen Sie mich noch versuchen mit 'Invalidate Caches and Restart' –

Antwort

2

Ich habe einige Wege gefunden, diese zu lösen.

1) Versuchen Sie mit Invalidate caches and restart in Android Studio.
2) Wie yigit erwähnt haben, ist es Android Studio Bug, können Sie direkt Variablen verwenden, anstatt auf Variablennamen als Vorschlag zu kommen.