閉じる

cannot generate view binders java.lang.NullPointerException

Androidにて DataBindingをパラメータ付き(?) includeを使っているときに発生。

> java.lang.RuntimeException: failure, see logs for details.
cannot generate view binders java.lang.NullPointerException
at android.databinding.tool.reflection.ModelMethod.isBoxingConversion(ModelMethod.java:152)
at android.databinding.tool.store.SetterStore.isBetterParameter(SetterStore.java:929)
at android.databinding.tool.store.SetterStore.getBestSetter(SetterStore.java:820)
at android.databinding.tool.store.SetterStore.getSetterCall(SetterStore.java:655)
at android.databinding.tool.Binding.getListenerParameter(Binding.java:164)
at android.databinding.tool.Binding.resolveListeners(Binding.java:63)

レイアウトファイルの dataタグ中に variableを記述するとき、importを使って typeの記述を簡略化していると駄目らしい。
java的には importに従って探すので OKだけど、処理プログラムがその辺の対応をすっぽかしている感じ?
対策としては typeの記述をフルパスで指定すればとりあえず逃げられる。
以前は大丈夫だったんだけどなぁ

@{}内に関しては importが有効なようで、とりあえず 「import記述はそのまま、type指定のみ機械的にフルパスへ置換する」という事になるかな。

この投稿では「variableのクラス名を間違ったときに発生するよね」的な投稿がある。

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)