监听多个EditText,只有当它们都有输入后,相应Button才能被点击

 我来答
DoramiHe
2017-03-04 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25332 获赞数:59541
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
首先,要对 EditText 进行监听就需要 TextWatch() 这个类来实现。其中在这里最需要的就是该类的 onTextChanged 方法,来得到EditText的实时控制权。这时,我们就能通过判断该方法里的参数 CharSequence 的长度来进行判断。
然后,就是针对“几个”这个关键词,想了一个办法,就是new了一个类,专门用来对几个 EditText 的个数在 onTextChanged 方法中进行累加,只有条件合适了,才对按钮进行相应的操作。而且,每个 EditText 只能加一次,我这里想的办法是加2个boolean类型的数,进行控制,核心代码如下:

1 private boolean check = false, check_ = true;
2
3 @Override
4 public void onTextChanged(CharSequence s, int start, int before, int count) {
5
6 if (s.length() > 0) {
7 check = true;
8 } else if(s.length() == 0){
9 check_ = true; //开门
10 check = false;
11 }
12 if(check){
13 if(check_){
14 EdtCheckEntity.checkNum++;
15 check_ = false; //关门
16 if(EdtCheckEntity.checkNum == 3){
17 regist.setEnabled(true);
18 regist.setBackgroundResource(R.drawable.regist_t);
19 }
20 }
21 }else{
22 EdtCheckEntity.checkNum--;
23 if(EdtCheckEntity.checkNum < 3){
24 regist.setEnabled(false);
25 regist.setBackgroundResource(R.drawable.regist_f);
26 }
27 }
28 }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式