2017-08-31 15 views
-1

データバインディングを使用してTextViewにテキストを設定しようとしています。私はelse文を使用しています。値がtrueの場合、Stringをその文字列TextViewに設定したい場合と、それ以外の場合にStringリソースのIDを割り当てたいとします。私のコード:データバインディングでif elseステートメントの2つの異なる戻り値タイプ

しかし、私がそれをしようとすると、IntegerをStringに変換できないというエラーが発生します。

android:text="@{object.getStringId}" 

は、中に使用するために何とか可能であることをelse文二つの異なる戻り値の型の場合:

すべてが、私はこのように直接文字列リソースを割り当てるしようとすると、大丈夫でしょうか?

+0

投稿したコードを投稿する – Orvenito

答えて

0

はい、Context.getString()を2番目のものに使用すると、両方がStringになるようにすることができます。私は、これは動作するはずだと思う:あなたはコンテキストをインポートする必要はありません

android:text="@{object.isTrue ? object.getString : context.getString(object.getStringId)}" 

、それは輸入自動車です。

関連する問題