回答編集履歴

3

リンク追加

2023/01/28 12:01

投稿

jimbe
jimbe

スコア12659

test CHANGED
@@ -7,7 +7,7 @@
7
7
  ```
8
8
  とすると、動作しました。
9
9
 
10
- 公式ドキュメントからでは、一般的なものは [バインディングアダプター](https://android.googlesource.com/platform/frameworks/data-binding/+/refs/heads/studio-master-dev/extensions/baseAdapters/src/main/java/androidx/databinding/adapters) として定義されているのを見ることになりそうです。
10
+ [公式ドキュメント](https://developer.android.com/topic/libraries/data-binding?hl=ja#using_the_data_binding_library) からでは、一般的なものは [バインディングアダプター](https://android.googlesource.com/platform/frameworks/data-binding/+/refs/heads/studio-master-dev/extensions/baseAdapters/src/main/java/androidx/databinding/adapters) として定義されているのを見ることになりそうです。
11
11
  "app:backgroundTint" は無い ( "android:backgroundTint" なら ViewBindingAdapter にあります ) ので、 Cannot find と言われるのではないでしょうか。
12
12
 
13
13
  試しに、テキトウなクラスファイルに (ViewBindingAdapter に倣って)

2

修正

2023/01/27 17:24

投稿

jimbe
jimbe

スコア12659

test CHANGED
@@ -1,9 +1,13 @@
1
1
  先ずはこちらでしょうか。
2
2
  [AndroidでDataBinding属性の書き方には規則性があるので、一覧表とかは不要でした](https://engawapg.net/android/181/rule-of-data-binding-attribute/)
3
3
 
4
- 公式ドキュメントからでは、一般的なものはバインディングアダプターして定義されてるのを見ることになりそうす。
4
+ といことで、 xml を
5
+ ```
5
- [アダプター](https://android.googlesource.com/platform/frameworks/data-binding/+/refs/heads/studio-master-dev/extensions/baseAdapters/src/main/java/androidx/databinding/adapters)
6
+ app:backgroundTintList="@{viewModel.hogeFlag ? @color/white : @color/black}"
7
+ ```
8
+ とすると、動作しました。
6
9
 
10
+ 公式ドキュメントからでは、一般的なものは [バインディングアダプター](https://android.googlesource.com/platform/frameworks/data-binding/+/refs/heads/studio-master-dev/extensions/baseAdapters/src/main/java/androidx/databinding/adapters) として定義されているのを見ることになりそうです。
7
11
  "app:backgroundTint" は無い ( "android:backgroundTint" なら ViewBindingAdapter にあります ) ので、 Cannot find と言われるのではないでしょうか。
8
12
 
9
13
  試しに、テキトウなクラスファイルに (ViewBindingAdapter に倣って)
@@ -14,5 +18,9 @@
14
18
  method = "setBackgroundTintList")
15
19
  })
16
20
  ```
17
- というのを入れてみましたら、動いたようです。
21
+ というのを入れてみましたら、
22
+ ```
23
+ app:backgroundTint="@{viewModel.hogeFlag ? @color/white : @color/black}"
24
+ ```
25
+ でも動いたようです。
18
26
  attribute に "app:" が付いていないのは、付けると "警告" が出たために調べた結果 [Data Binding ライブラリの BindingAdapter と XML 名前空間](https://qiita.com/nobuoka/items/5672b5d2598e8d6e7e3b) という記事に当たったためです。

1

リンク追加、リンク書式修正

2023/01/27 17:07

投稿

jimbe
jimbe

スコア12659

test CHANGED
@@ -1,5 +1,8 @@
1
+ 先ずはこちらでしょうか。
2
+ [AndroidでDataBinding属性の書き方には規則性があるので、一覧表とかは不要でした](https://engawapg.net/android/181/rule-of-data-binding-attribute/)
3
+
1
- 一般的なものはバインディングアダプターとして定義されているのを見ることになりそうです。
4
+ 公式ドキュメントからでは、一般的なものはバインディングアダプターとして定義されているのを見ることになりそうです。
2
- https://android.googlesource.com/platform/frameworks/data-binding/+/refs/heads/studio-master-dev/extensions/baseAdapters/src/main/java/androidx/databinding/adapters
5
+ [アダプター](https://android.googlesource.com/platform/frameworks/data-binding/+/refs/heads/studio-master-dev/extensions/baseAdapters/src/main/java/androidx/databinding/adapters)
3
6
 
4
7
  "app:backgroundTint" は無い ( "android:backgroundTint" なら ViewBindingAdapter にあります ) ので、 Cannot find と言われるのではないでしょうか。
5
8
 
@@ -12,9 +15,4 @@
12
15
  })
13
16
  ```
14
17
  というのを入れてみましたら、動いたようです。
15
- attribute に "app:" が付いていないのは、付けると "警告" が出たために調べた結果
16
-
17
- Data Binding ライブラリの BindingAdapter と XML 名前空間
18
- https://qiita.com/nobuoka/items/5672b5d2598e8d6e7e3b
18
+ attribute に "app:" が付いていないのは、付けると "警告" が出たために調べた結果 [Data Binding ライブラリの BindingAdapter と XML 名前空間](https://qiita.com/nobuoka/items/5672b5d2598e8d6e7e3b) という記事に当たったためです。
19
-
20
- に当たったためです。