相关疑难解决方法(0)

如何将架构组件与Android上的数据绑定相结合?

我开发了基于android数据绑定库的应用程序:https://developer.android.com/topic/libraries/data-binding/index.html

class SignInViewModel extends BaseObservable {

    @Bindable
    public String getLogin() {
        return login;
    }

    @Bindable
    public String getPassword() {
        return password;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想使用新库中的ViewModelProviders:https: //developer.android.com/topic/libraries/architecture/guide.html

SignInViewModel signInViewModel = ViewModelProviders.of(this).get(SignInViewModel.class);
Run Code Online (Sandbox Code Playgroud)

它如何结合?任何的想法?或者应该结合这两个库?

编辑

我改为:

class SignInViewModel extends ViewModel {
   public ObservableField<String> login = new ObservableField<>("");

    public ObservableField<String> password = new ObservableField<>("");
}
Run Code Online (Sandbox Code Playgroud)

现在编译,但问题是:它是正确的方式?

data-binding android android-databinding

15
推荐指数
2
解决办法
5364
查看次数

是否可以强制实施LiveData值的非空性?

有没有办法强制实现LiveData值的不可空性?默认的Observer实现似乎有@Nullable注释,它强制IDE建议该值可能为null并且应该手动检查:

public interface Observer<T> {
    /**
     * Called when the data is changed.
     * @param t  The new data
     */
    void onChanged(@Nullable T t);
}
Run Code Online (Sandbox Code Playgroud)

android android-livedata android-architecture-components

10
推荐指数
4
解决办法
3917
查看次数

LiveData 或 DataBinding Observer

我在我的Android应用程序中使用MVVM,在视图模型我有很多观察员(从数据绑定)一样ObservableBooleanObservableField我看了,我可以使用LiveData/MutableLiveData,而不是这个观察家...有什么区别?我可以用LiveData/MutableLiveData?

例如:

代替:

val loading: ObservableBoolean = ObservableBoolean()
Run Code Online (Sandbox Code Playgroud)

经过:

val loading: MutableLiveData<Boolean> = MutableLiveData()
Run Code Online (Sandbox Code Playgroud)

android android-livedata

4
推荐指数
1
解决办法
1482
查看次数