你的位置:首页 > 操作系统

[操作系统]Android之EditText文本变化的监听


  监听EditText的文本变化需要给EditText控件加一个addTextChangeListener监听器

  editText.addTextChangeListener(textWatcher);  这里的textWatcher是一个TextWatcher对象,

  TextWatcher是一个接口,它有三个抽象方法,具体如下:  

/**
*文本改变之前调用
* @param s 输入框的原内容字符串
* @param start 字符串开始改变的索引位置
* @param count 即将被替换的字符个数
* @param after 替换这count个字符的新的字符的个数
*/  public void beforeTextChanged(CharSequence s, int start,int count, int after);

/**
* 文本改变时调用
* @param s 变化之后的输入框内容
* @param start 字符串开始改变的索引位置
* @param before 被替换的字符的个数
* @param count 替换这before个字符的新的字符的个数
*/  public void onTextChanged(CharSequence s, int start, int before, int count);
/**
* 文本改变之后调用
* @param s 最终输入框中的内容
*/  public void afterTextChanged(Editable s);
代码:
MainActivity.java

 1 package com.example.admin.edittext; 2  3 import android.os.Bundle; 4 import android.support.v7.app.AppCompatActivity; 5 import android.text.Editable; 6 import android.text.TextWatcher; 7 import android.util.Log; 8  9 import android.view.View;10 import android.widget.Button;11 import android.widget.EditText;12 import android.widget.TextView;13 14 import com.lidroid.xutils.ViewUtils;15 import com.lidroid.xutils.util.LogUtils;16 import com.lidroid.xutils.view.annotation.ViewInject;17 18 public class MainActivity extends AppCompatActivity{19   @ViewInject(R.id.text)20   private TextView text;  //这里使用了xUtils框架的注解功能初始化控件21 22   @ViewInject(R.id.editText)23   private EditText input;24 25   @ViewInject(R.id.button)26   private Button button;27   @Override28   protected void onCreate(Bundle savedInstanceState) {29     super.onCreate(savedInstanceState);30     setContentView(R.layout.activity_main);31     ViewUtils.inject(this);32     initEvent();33   }34 35   private void initEvent() {36     input.addTextChangedListener(change);37     button.setOnClickListener(new View.OnClickListener() {38       @Override39       public void onClick(View v) {40       input.setText("");41       }42     });43   }44 45   TextWatcher change = new TextWatcher() {46       @Override47       public void beforeTextChanged(CharSequence s, int start, int count, int after) {48         LogUtils.i("beforeTextChanged:"+s+","+start+","+count+","+after);49       }50 51       @Override52       public void onTextChanged(CharSequence s, int start, int before, int count) {53         text.setText("还能输入"+(50-s.toString().length())+"个字符");54         LogUtils.i("onTextChange:"+s+","+start+","+before+","+count);55       }56 57   58       public void afterTextChanged(Editable s) {59         Log.i("Editable s:",s.toString());60       }61   };62 63 64 }

activity_main.

 1 <??> 2 <RelativeLayout ="http://schemas.android.com/apk/res/android" 3   android:layout_width="match_parent" 4   android:layout_height="match_parent" 5  > 6  7   <TextView 8     android:id="@+id/text" 9     android:layout_width="wrap_content"10     android:layout_height="wrap_content"11     android:layout_marginTop="20dp"12     android:text="还能输入50个字" />13 14   <EditText15     android:id="@+id/editText"16     android:layout_width="match_parent"17     android:layout_height="wrap_content"18     android:layout_below="@id/text"19     android:maxLength="50"20     />21   <Button22     android:id="@+id/button"23     android:layout_width="match_parent"24     android:layout_height="wrap_content"25     android:text="重置文本"26     android:textColor="#ffffff"27     android:background="#ff0000"28     android:layout_marginTop="10dp"29     android:layout_below="@id/editText"30     />31 </RelativeLayout>

 

效果图:



就在你没有鞭策自己起身的一刹那,你不晓得退后了多少!



到韩国游费用报价大全韩国自助游攻略2015怎样去韩国旅游去韩国哪个旅行社好韩国旅游攻略大全流溪河国家森林公园好玩吗? 天降长假哪里去 来吉林寻秋踏影 苏州紫金庵 那满堂国宝级的罗汉 落地自驾 川西金秋最美八大环线 2015锦绣中华七夕活动?深圳锦绣中华七夕情人节当天门票多少钱? 林俊杰2015欢乐谷有演唱会吗?林俊杰深圳演唱会地址? 深圳欢乐谷林俊杰见面会在哪里?林俊杰欢乐谷玛雅水公园会来吗? 暑假去青青世界有什么好玩的活动?深圳青青世界学生证半价优惠吗? 株洲方特门票学生票价格?株洲方特学生票多少钱? 株洲方特欢乐世界学生票多少钱?株洲方特学生什么时候优惠? 长沙火车站到株洲方特大巴几点发车?长沙火车站到株洲方特汽车在哪坐? 淄博到跑马岭野生动物园开车怎么走?淄博到济南跑马岭自驾车路线? 凤凰古城有什么好吃的?介绍一下! 暑假去丽江旅游要带多少钱? 从厦门火车站到鼓浪屿怎么坐公交? 丽江泸枯湖旅游小贴士 5-22-WC33-20D Datasheet 5-22-WC33-20D Datasheet 5-22-WC33-20DA Datasheet 5-22-WC33-20DA Datasheet 5-22-WC33-505 Datasheet 5-22-WC33-505 Datasheet 深圳山西双飞六游价格 深圳山西双飞六游价格 深圳山西双飞六游价格 高品质山西旅游 高品质山西旅游 高品质山西旅游 山西旅游旅行团 山西旅游旅行团 山西旅游旅行团