2017-10-27 5 views
1

Ich verwende <include>, um einige Layouts im übergeordneten Layout aufzunehmen.DataBinding-Problem mit BR-Datei

Problem: Einige meiner ViewModel Felder werden in BR-Datei generiert und einige fehlen. Was ist das Problem?

Beschreibung:

  • Fehlende Felder werden in das Layout verwendet, die mit <include>-Tag enthalten ist.

  • Generierte Felder werden im übergeordneten Layout verwendet.

Zum Beispiel:

In folgendem Code BR.name Variablennamen wird in BR-Datei generiert und in übergeordnetem Layout verwendet.

public void setName(String phoneNumber){ 
     this.phoneNumber = phoneNumber; 
     notifyPropertyChanged(BR.phoneNumber); 
    } 

Und in unteren Code-Passwort fehlt in BR-Datei, die im Kind-Layout verwendet wird.

public void setPassword(String password){ 
    this.password = password; 
    notifyPropertyChanged(BR.password); 
} 

Haben Sie Hilfe, warum das passiert?

Was habe ich bisher versucht?

Ich habe android Studio neu gestartet und seinen Cache ungültig gemacht, aber immer noch mit dem Problem konfrontiert.

Antwort

1

Hurra! Ich habe die Lösung here auf der offiziellen Website von Google gefunden.

„Die Bindable Annotation erzeugt einen Eintrag in der BR-Klasse-Datei während der Kompilierung.“

Also muss ich nur @Bindable Anmerkung auf Getter hinzuzufügen.