I have:
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<data>
<import type="android.view.View" />
<variable name="vm" type="com.my.package.viewmodel.SplashActivityVM" />
</data>
<android.support.v7.widget.LinearLayoutCompat
bla...>
<TextView
bla...
android:text='@{vm.status}'
bla... />
bla...
with activity.java:
@Override
protected void onCreate(Bundle savedInstanceState) { bla... }
private void observeStatus(SplashActivityVM viewModel) {
viewModel.getStatus().observe(this, status -> {
if (status != null) {
mBinding.setVm(viewModel);
} else { }
mBinding.executePendingBindings();
});
}
and my ViewModel:
public class SplashActivityVM extends AndroidViewModel implements ViewModel {
private final MutableLiveData<SplashState> mObservableStatus = new MutableLiveData<>();
public MutableLiveData<SplashState> getStatus() { return mObservableStatus; }
public SplashActivityVM(@NonNull Application application) { super(application); }
// bla...
and I received below error:
msg:Cannot find the setter for attribute 'android:text' with parameter type android.arch.lifecycle.MutableLiveData on android.widget.TextView.
What's wrong?