androidのdatabindingで "Error:Cannot resolve type for item~"

  • 1
    Like
  • 0
    Comment
More than 1 year has passed since last update.

こんなエラーがででビルドに失敗する。ついでに他のdatabindingのエラーもでる。ややこしい。

Error:Cannot resolve type for item~

なんやitem~って。

どうやら、databindingさせるレイアウトファイルのvariableのnameの書き方でbuild時にエラーになることがある。

hoge.xml
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools">

    <data>
        <variable
            name="item"
            type="jp.shikajiro.HogeDto"/>
    </data>
...

variableのnameを"item"にするとだめっぽい。適当に他のにしよう。
typeの指定が間違ってる(存在しないクラスなど)と起きる模様。ただし、どのファイルでエラーかはメッセージは出てこないので自力で探すしかない。

hoge.xml
    <data>
        <variable
            name="dto"
            type="jp.shikajiro.HogeDto"/>
    </data>