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

Posted brucemengbm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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不可点击搜索的主要内容,如果未能解决你的问题,请参考以下文章

php 获取button的值

安卓开发者进来一下,安卓悬浮窗口开发有问,悬浮的EditText为啥无法获得焦点.悬浮窗口不管我

android EditText焦点问题

android开发,在EditText中输入了数据,要求在点击屏幕其它地方后,键盘自动隐藏!请代码

点击Button将EditText的内容显示到另外一个页面的Listview中

Android 开发里面,如何点击Button将EditText里面的内容发送出去并显示在ListView当中?