【发布时间】:2018-09-14 04:56:26
【问题描述】:
数据绑定设置:
apply plugin: 'kotlin-kapt'
android {
dataBinding {
enabled = true
}
}
dependencies {
kapt "com.android.databinding:compiler:3.1.0"
}
使用数据绑定的片段类:
class LandingFragment : Fragment(), Injectable {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
val dataBinding = LandingFragmentBinding.inflate(inflater, container, false)
return dataBinding.root
}
}
每次对此片段运行 Espresso 测试时,我都会收到以下异常:
java.lang.NoClassDefFoundError: android.databinding.DataBinderMapperImpl
at android.databinding.DataBindingUtil.<clinit>(DataBindingUtil.java:32)
at com.sc.databinding.LandingFragmentBinding.inflate(LandingFragmentBinding.java:42)
at com.sc.ui.landing.LandingFragment.onCreateView(LandingFragment.kt:32)
...
【问题讨论】:
-
您的模块中是否启用了数据绑定?
-
我只有一个模块“app”。
-
你解决了吗?
-
是的,我做到了,但我不记得究竟是怎么回事,问题在某个时候自行消失了。
标签: android data-binding kotlin android-espresso