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

一丶任务详情

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

上一篇:tomcat7 配置


下一篇:Android自己定义控件系列案例【五】