(五)关于RxJava:项目小实例

通过前面对RxJava基础的学习,然后今天在项目中应用起来了,目前是对界面交互的部分修改,后面肯定会在网络请求那做改动了

注:Android中要在界面交互中用到RxJava,需要引用一个第三方的包RxBinding,配置方式跟第一篇文章中引入Retrolambda一样,就可以使用相关RxView等方法,但是需要确定当前开发环境的SDK版本不低于14,否则,编译不通过。

实例1如下 :

RxView.clicks(findViewById(R.id.iv_user_cha))
                .subscribe(new Action1<Void>() {
                    @Override
                    public void call(Void aVoid) {
                        user_login_et.setText("");
                    }
                });

 

实例2如下:

 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;
                }
            }
        }); 

 

 

注:个人觉得在安卓中引用RxJava还是重点体现在异步和主线程切换那,对于界面交互,逻辑不是很复杂的,可以不考虑替换成RxJava实现

你可能感兴趣的:((五)关于RxJava:项目小实例)