こんにちは。
DataBindingについての話です。
Cause: couldn't make a guess for 〜〜.entity.item
xmlファイルにdataclassやviewmodelの変数を用意してそこに丸ごとつっこむやり方で起きたエラーです。
何やら記述されているクラスに対して推測ができないといったことが書いてあります。
パッケージを辿ってこれがどんなクラスなのかstudio は理解している(item.○○ といったプロパティアクセスができる)のに、このようなエラーが吐かれてしまいます。
調べてみたところ、これはkotlinの命名規則から外れているため起こったエラーでした。
kotlinが採用している命名規則は以下の通りです。
クラス | 変数、関数 | パッケージ |
---|---|---|
アッパーキャメルケース | キャメルケース | スネークケース |
HelloMyNameIs | helloMyNameIs | hello_my_name_is |
これに従っていないと、読み込み時に推測ができなくてエラーになってしまいます。僕の場合は末尾のitemがクラスなのに小文字で始まっているため発生したエラーでした。うっかりです。
同様に、パッケージ名に大文字が混じっていたりしていてもエラーになります。
以上、
「DataBindingでcouldn't make a guess forが出て困った話」でした。
末筆ながら、誰かの役に立つことがあれば幸いに思います。