2017-04-18 10 views

答えて

0

これはできません。 idOfMySwitch.isSelected()は、データバインディング自体では観測できません。

このような場合、私はホルダーを持ち、スイッチへの双方向バインディングと可視性への1つの方法として割り当てます。

選択すると、問題が発生する可能性があります。 2-wayバインディングは、容易ではありません。しかしスイッチを使用すると、チェックされた状態をとにかく使いたいかもしれません。

<Switch ... 
    android:checked="@={holder.myState}" /> 
<TextView ... 
    android:visibility="@{holder.myState ? View.VISIBLE : View.GONE}" /> 
0

要素を表示するかどうかを判断するには、ビューモデルの状態を確認する必要があります。あなたのViewModelで

@Bindable 
public boolean isAdult() { 
    return isAdult; 
} 

あなたのアクティビティでは、順番に、あなたのTextViewの可視性を更新するに応じてのViewModelにisAdultを更新スイッチ、上のクリックリスナーである必要があります。

同様の例がhereです。

関連する問題