监听EditView中的文本改变事件详解--转
转自:
http://blog.csdn.net/zoeice/article/details/7700529
android中的编辑框EditText也比较常用,那比如在搜索框中,没输入一个字,下面的搜索列表就显示有包含输入关键字的选项,这个输入监听怎么实现的呢?
我们可以建一个例子,效果图如下:

我们可以监听光标处在哪个位置,选择了几个字符并处理,输入了几个字符
先新建布局文件
- <?xml version="1.0" encoding="utf-8"?>
 - <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 - android:layout_width="fill_parent"
 - android:layout_height="fill_parent"
 - android:background="@drawable/af">
 - <!-- 上下滚动 -->
 - <ScrollView
 - android:layout_width="fill_parent"
 - android:layout_height="fill_parent" >
 - <LinearLayout
 - android:layout_width="fill_parent"
 - android:layout_height="fill_parent"
 - android:orientation="vertical" >
 - <!-- 编辑框 -->
 - <EditText
 - android:id="@+id/id_edittext_1"
 - android:layout_width="fill_parent"
 - android:layout_height="wrap_content"
 - android:background="@drawable/alert_light"
 - android:textSize="10sp"
 - android:textColor="#ffff"
 - />
 - <TextView
 - android:id="@+id/id_textview"
 - android:layout_width="fill_parent"
 - android:layout_height="wrap_content"
 - android:textColor="#ffff"
 - />
 - <TextView
 - android:id="@+id/id_textview_1"
 - android:layout_width="fill_parent"
 - android:layout_height="wrap_content"
 - android:background="@drawable/hah"
 - android:textColor="#f000"
 - />
 - <TextView
 - android:id="@+id/id_textview_2"
 - android:layout_width="fill_parent"
 - android:layout_height="wrap_content"
 - android:background="@drawable/hah"
 - android:textColor="#f000"
 - />
 - </LinearLayout>
 - </ScrollView>
 - </LinearLayout>
 
然后在代码中对编辑框绑定输入监听事件:
- public class EditTextTestActivity extends Activity {
 - /**编辑框*/
 - private EditText edit1_;
 - /**文本*/
 - private TextView text_;
 - private TextView text1_;
 - private TextView text2_;
 - /** Called when the activity is first created. */
 - @Override
 - public void onCreate(Bundle savedInstanceState) {
 - super.onCreate(savedInstanceState);
 - setContentView(R.layout.main);
 - /*设置当前页面的布局*/
 - setMyLayout();
 - }
 - /**
 - * 设置当前页面的布局
 - */
 - private void setMyLayout(){
 - /*取得文本*/
 - text_ = (TextView)findViewById(R.id.id_textview);
 - text1_ = (TextView)findViewById(R.id.id_textview_1);
 - text2_ = (TextView)findViewById(R.id.id_textview_2);
 - /*取得编辑框*/
 - edit1_ = (EditText)findViewById(R.id.id_edittext_1);
 - /*监听 编辑框中的文本改变事件*/
 - edit1_.addTextChangedListener(new TextWatcher() {
 - @Override
 - public void onTextChanged(CharSequence s, int start, int before, int count) {
 - /*++ 文本每次改变就会跑这个方法 ++*/
 - if(null != text_){
 - text_.setText("您正在输入......\n当前光标处在第 " + start
 - +" 个位置\n您选择处理了 " + before + " 个字符\n您这次输入的词语有 "
 - + count + " 个字符");
 - }
 - }
 - @Override
 - public void beforeTextChanged(CharSequence s, int start, int count,
 - int after) {
 - /*++这里的count树枝上是和onTextChanged()里的before一样的
 - * after树枝上是和onTextChanged()里的count一样的 ++*/
 - if(null != text1_){
 - text1_.setText("您正在输入......\n当前光标处在第 " + start
 - +" 个位置\n您选择处理了 " + count + " 个字符\n您这次输入的词语有 "
 - + after + " 个字符");
 - }
 - }
 - @Override
 - public void afterTextChanged(Editable s) {
 - /*++这里显示出输入的字符串++*/
 - if(null != text2_){
 - text2_.setText(s);
 - }
 - }
 - });
 - }
 - }
 
然后就ok了,很多地都可以用到这个办法。
源代码在下面:
http://download.csdn.net/detail/zoeice/4399601
监听EditView中的文本改变事件详解--转的更多相关文章
- Android 监听EditView中的文本改变事件
		
android中的编辑框EditText也比较常用,那比如在搜索框中,没输入一个字,下面的搜索列表就显示有包含输入关键字的选项,这个输入监听怎么实现的呢? 我们可以建一个例子,效果图如下: 我们可以监 ...
 - JavaScript中的鼠标滚轮事件详解
		
JavaScript中的鼠标滚轮事件详解/*Firefox注册事件*/ ~~~Firefox: addEventListener('DOMMouseScroll', handler, false)if ...
 - 单选框radio改变事件详解(用的jquery的radio的change事件)
		
单选框radio改变事件详解(用的jquery的radio的change事件) 一.总结 1.用的jquery的radio的change事件:当元素的值发生改变时,会发生 change 事件,radi ...
 - Fragment-如何监听fragment中的回退事件与怎样保存fragment状态
		
一.如何监听Fragment中的回退事件 1.问题阐述 在Activity中监听回退事件是件非常容易的事,因为直接重写onBackPressed()函数就好了,但当大家想要监听Fragment中的回退 ...
 - 【转】监听按钮除OnClick外其他事件的方法,附简易改编的UIButton类
		
http://lib.csdn.net/article/unity3d/38463 作者:IceFantasyLcj 大家好,我是雨中祈雨.一直以来,CSDN都是我最好的编程助手.这是我在CSDN的第 ...
 - 【转】 NGUI 监听按钮除OnClick外其他事件的方法,附简易改编的UIButton类
		
http://blog.csdn.net/icefantasylcj/article/details/49450555 大家好,我是雨中祈雨.一直以来,CSDN都是我最好的编程助手.这是我在CSDN的 ...
 - JAVA GUI 事件监听事件 详解 和 案例.
		
GUI(图形用户界面) Graphical User Interface(图形用户接口) 用图形的 方式, 来显示 计算机操作的 界面, 这样更方便 更直观. CLI Command Line Use ...
 - VueApp监听手机物理返回键的事件
		
代码 第一步创建js文件夹子 在main里面引用 JS文本内容如下 //监听手机物理返回键的事件 document.addEventListener('plusready', function() ...
 - js 实时监听input中值变化
		
注意:用到了jquery需要引入jquery.min.js. 需求: 1.每个地方需要分别打分,总分为100; 2.第一个打分总分为40; 3.第二个打分总分为60. 注意:需要判断null.&quo ...
 
随机推荐
- Python字符串排序
			
看了西红柿的博客,此文纯搬运,方便自己查询用. 原文:https://www.cnblogs.com/tomato0906/articles/4890701.html 1.python中的字符串类型是 ...
 - Redis-复制(MasterSlave)
			
Redis的复制(Master/Slave) 是什么: 行话:也就是我们所说的主从复制,主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave ...
 - java中路径的问题
			
在java中,涉及路径的问题有很多,不管在windows还是linux系统中,不要纠结”/“分隔符的使用,在windows系统中,资源加载器会自动的将”/“转换成”\“. 在java中获取资源的方式有 ...
 - Django ORM 常用的13个方法
			
介绍一个可以以py脚本方式运行ORM操作的方法: 可在项目内新建个py文件,复制项目内manage.py文件中的以下代码: if __name__ == "__main__": o ...
 - mysql免安装版配置启动时出错
			
今天安装了MySQL5.7的免安装版本,启动时报了服务无法启动的错误,在网上找了好久终于找到了解决方法 我找到解决方法的博客地址是:http://blog.csdn.net/qq_27093465/a ...
 - rapidxml编写xml文件(一)
			
int writeXML(void) { rapidxml::xml_document<> doc; rapidxml::xml_node<> *rot = doc.alloc ...
 - HIS读书笔记
			
医院的主要信息子系统,包括医院信息管理系统HIMS,放射科信息系统RIS,图像存档与传输系统PACS,检验信息系统LIS,医学信息传输标准与系统集成,以及临床路径和电子病历等. 医院信息系统一般划分为 ...
 - 「BJWC2010」模板严格次小生成树
			
题目描述 小 \(C\) 最近学了很多最小生成树的算法,\(Prim\) 算法.\(Kruskal\) 算法.消圈算法等等.正当小\(C\)洋洋得意之时,小\(P\)又来泼小\(C\)冷水了.小\(P ...
 - python学习之HTML
			
1.HTML初知 <!DOCTYPE html> <html lang="en"> <head> html头 <meta charset= ...
 - 吴裕雄 python 神经网络——TensorFlow  数据集基本使用方法
			
import tempfile import tensorflow as tf input_data = [1, 2, 3, 5, 8] dataset = tf.data.Dataset.from_ ...