2016-08-08 13 views
2

アンドロイドデータバインディングでスイッチケースを書くことは可能ですか?データバインディングのスイッチケース

は私が

value == 1 then print A 
value == 2 then print B 
value == 3 then print C 

のような3つの条件はデータバインディングを使用してXMLでこのようなものを行うにはそこにどのような方法がありますか?あるとし

私たちは

android:visibility="@{age < 13 ? View.GONE : View.VISIBLE}" 

などの条件文を実装することができます。しかし、ここで私はスイッチのcase文を探しています知っています。

答えて

5

いいえ、私が知る限り、これは不可能であり、xmlファイルを実際に読むことができなくなります。レイアウトファイルではなく、ビジネスロジックに実装する方が良いと思います。

android:text='@{TextUtils.equals(value, "1") ? "A" : TextUtils.equals(value, "2") ? "B" : TextUtils.equals(value, "3") ? "C" : ""}' 

あなたが持っている見ての通り:私はこのような文があれば、あなたがより多くのインラインでそれを行うために持っているよりも、ビジネスロジックでこれを行うには良いですが、あなたはこれをしたい場合はどう思うか

+2

答えは正しいです。 'switch'文はサポートされていません。レイアウトファイルが読み込み可能な状態になるように、そのログインをビューモデルプロパティに配置する必要があります。つまり、複数のリソースを使用しない限りです。 –

0

else状態のすべての次の条件を追加すると、すべてが読みにくくなります。

関連する問題