In offiziellen Android-Dokumente - gibt es einige Anleitungen, wie Databinding in Fragmenten und Aktivitäten zu verwenden. Allerdings habe ich ziemlich komplexe Picker mit vielen Einstellungen. Etwas wie:android Datenbindung in benutzerdefinierten Steuerelementen
class ComplexCustomPicker extends RelativeLayout{
PickerViewModel model;
}
Also meine Frage ist, welche Methode des Pickers I außer Kraft setzen müssen in der Lage verwenden Bindung im Inneren zu sein und nicht seting/Prüfung einzelner Werte wie Textfeld, etc?
Und zweite Frage - wie könnte ich ViewModel zu meinem Picker in XML-Datei übergeben, brauche ich einige benutzerdefinierte Attribute dafür?
Gute Antwort! Wenn Sie eine Setter-Methode für Ihren 'ComplexCustomPicker' haben, die' PickerViewModel' verwendet, brauchen Sie auch nicht das 'BindingAdaper'. Android Data Binding versucht automatisch, etwas mit dem Namen setXxx zu finden, wobei Xxx das Attribut ist. Wenn 'ComplexCustomPicker' also eine Methode' void setViewModel (PickerViewModel) 'hat, können Sie wie oben das Attribut' app: viewModel = "@ {viewModel}" 'verwenden. Diese Technik bedeutet, dass Sie Ihre Ansicht an Ihre Modelltypen binden, aber das kann in Ihrer App in Ordnung sein. –