这个问题通常会在使用Data Binding时出现,解决方法如下:
在你的app的build.gradle文件中引入androidx.lifecycle:lifecycle-extensions依赖:
dependencies { implementation "androidx.lifecycle:lifecycle-extensions:2.2.0" }
在布局文件中添加layout标签,并将其设为"dataBindingEnabled":
接下来,在你的Activity或Fragment中,重写onCreate或onCreateView方法,并使用viewLifecycleOwner作为参数调用DataBindingUtil.setContentView或DataBindingUtil.inflate:
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val binding: ActivityMainBinding = DataBindingUtil.setContentView(this, R.layout.activity_main) binding.lifecycleOwner = this } }
这个问题在最新版本的Android Studio中应该已经解决了,但如果你还在使用旧版本,修改build.gradle文件并重写Activity或Fragment的onCreate方法应该可以解决问题。