首页 > 代码库 > EditText输入为空button不可点击搜索

EditText输入为空button不可点击搜索

一丶任务详情

技术分享


二丶改动后演示效果

技术分享

三丶改动过程

分析:非常明显这里是须要监听EditText,推断输入字符串长度是否不为0来改变Button样式

首先的屡清楚代码逻辑在适当的位子加监听推断是最好的处理方法,然而并没有理清楚。原团队用Eclipse开发且java用的多。代码并没透彻理解(屡清楚某个功能点定会与大家分享)所以呢这里仅仅好自己加入

第一步xml设置button不可点击并改动样式

android:background="@color/login_bar_btn_enable"
android:enabled="false"
注意:这里button不可点击是设置enable属性

第二步监听EditText

这里一般常会用到的键盘监听

  1. edittext.setOnKeyListener(new View.OnKeyListener() {              
  2.         @Override  
  3.         public boolean onKey(View v, int keyCode, KeyEvent event) {  
  4.             textview.setText(edittext.getText());  
  5.             return false;  
  6.         }  
  7.     });  
開始我也是使用这样的。然而达到的效果是非得输入键盘点击Enterbutton才可点击,明显须要的并非这样的结果,正确的代码片段贴上

//输入框为空不可点击 by jin
edt_orderNo.addTextChangedListener(new TextWatcher() {
   @Override
   public void beforeTextChanged(CharSequence s, int start, int count, int after) {
   }

   @Override
   public void onTextChanged(CharSequence s, int start, int before, int count) {
      // 推断输入不为空。button可点击
      if (edt_orderNo.length() != 0) {
         but_queryChange.setEnabled(true);
         but_queryChange.setBackgroundResource(R.drawable.login_bar_btn);
      } else {
         but_queryChange.setEnabled(false);
         but_queryChange.setBackgroundResource(R.color.login_bar_btn_enable);
      }
   }

   @Override
   public void afterTextChanged(Editable s) {
   }
});

此方法是监听EditText输入过程。在onTextChanged中加入是为了更具体的监听输入

onTextChanged中的推断就不在赘述了

小结:

1.百度的姿势非常重要,说清楚需求才找得到想要的代码

2.依旧小白一个,一个功能点的代码都不能屡的十分清楚


欢迎增加Android&ios学习群:319010802

EditText输入为空button不可点击搜索