经过前面对RxJava基础的学习,而后今天在项目中应用起来了,目前是对界面交互的部分修改,后面确定会在网络请求那作改动了网络
注:Android中要在界面交互中用到RxJava,须要引用一个第三方的包RxBinding,配置方式跟第一篇文章中引入Retrolambda同样,就能够使用相关RxView等方法,可是须要肯定当前开发环境的SDK版本不低于14,不然,编译不经过。异步
实例1以下 :ide
RxView.clicks(findViewById(R.id.iv_user_cha))
.subscribe(new Action1<Void>() {
@Override
public void call(Void aVoid) {
user_login_et.setText("");
}
});学习
实例2以下:this
RxView.clicks(findViewById(R.id.iv_pwd_yesorno_show)).subscribe(new Action1<Void>() {
@Override
public void call(Void aVoid) {
if (!pwdFlag) {
AppLoginActivity.this.user_pwd_et.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
iv_pwd_yesorno_show.setBackgroundResource(R.drawable.iv_pwd_show);
pwdFlag = true;
} else {
AppLoginActivity.this.user_pwd_et.setTransformationMethod(PasswordTransformationMethod.getInstance());
iv_pwd_yesorno_show.setBackgroundResource(R.drawable.iv_pwd_noshow);
pwdFlag = false;
}
}
}); spa
注:我的以为在安卓中引用RxJava仍是重点体如今异步和主线程切换那,对于界面交互,逻辑不是很复杂的,能够不考虑替换成RxJava实现.net