經過前面對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