Wie verwenden Sie Datenbindung für Schalter onCheckedChageListener Veranstaltung?
Als Frage zeigt, wie bind change listener zu Schalter in xml ?
Ich bin nicht mit recycler-Ansicht. Nur ein einfaches layout.
Jede Hilfe dankbar.
- Was ist falsch mit der Einstellung dynamisch?
- Können wir den gleichen view-Modell, wo sonst im Projekt mit beobachtbaren Felder mithilfe des Festplatten-cache?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie es mit einer Methode, Referenz:
oder mit einem lambda-Ausdruck ein, wenn Sie möchten an verschiedenen Parametern:
Unknown attribute android:onCheckedChanged
Verwendung von lambda-Ausdruck und eine
Switch
:XML-Datei:
Wo
item
ist die Klasse, dieonCheckedChange
Methode und importiert die XML-Datei wie folgt:checked
- Attribut? Sie können für die Bindung, die ziemlich leichtVerschiedene Möglichkeiten
(1) Satz von Methode Ausdruck
Im layout
In Der Aktivität
(2), vom lambda-Ausdruck und den Aufruf der Methode
In Der Aktivität
(3) Pass
OnCheckedChangeListener
anonyme Klasse layoutIn Der Aktivität
(4) Pass
OnCheckedChangeListener
durch VerweisAktivität
Jetzt unten funktionieren NICHT
Nun, wenn Sie
CheckChangeListener
im code, der nicht funktioniert. denn Sie können nicht von zwei callback auf eine Komponente. Ein Rückruf ist bereits gesetzt durch die Bindung, so dass Ihre callback im code wird das nicht funktionieren.Überprüfen Sie, CompoundButtonBindingAdapter - Klasse , um zu sehen, wie Switch-Bindung funktioniert.
android:layout="@layout/custom"
und übergeben Sie die layout-Daten-gebunden Titel "passedTitle", ich kann es erfolgreich mit <include> wie folgt:<include layout="@layout/custom" bind:passedTitle="@{@string/title}" />
, aber es nicht tun (ich bekommeattribute passedTitle not found
), wenn ich nur tun es in der Präferenz:<SwitchPreference android:key="@string/key" layout="@layout/custom" bind:passedTitle="@{@string/title}"