转自:

http://blog.csdn.net/zoeice/article/details/7700529

android中的编辑框EditText也比较常用,那比如在搜索框中,没输入一个字,下面的搜索列表就显示有包含输入关键字的选项,这个输入监听怎么实现的呢?

我们可以建一个例子,效果图如下:

我们可以监听光标处在哪个位置,选择了几个字符并处理,输入了几个字符

先新建布局文件

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:background="@drawable/af">
  6. <!-- 上下滚动 -->
  7. <ScrollView
  8. android:layout_width="fill_parent"
  9. android:layout_height="fill_parent" >
  10. <LinearLayout
  11. android:layout_width="fill_parent"
  12. android:layout_height="fill_parent"
  13. android:orientation="vertical" >
  14. <!-- 编辑框 -->
  15. <EditText
  16. android:id="@+id/id_edittext_1"
  17. android:layout_width="fill_parent"
  18. android:layout_height="wrap_content"
  19. android:background="@drawable/alert_light"
  20. android:textSize="10sp"
  21. android:textColor="#ffff"
  22. />
  23. <TextView
  24. android:id="@+id/id_textview"
  25. android:layout_width="fill_parent"
  26. android:layout_height="wrap_content"
  27. android:textColor="#ffff"
  28. />
  29. <TextView
  30. android:id="@+id/id_textview_1"
  31. android:layout_width="fill_parent"
  32. android:layout_height="wrap_content"
  33. android:background="@drawable/hah"
  34. android:textColor="#f000"
  35. />
  36. <TextView
  37. android:id="@+id/id_textview_2"
  38. android:layout_width="fill_parent"
  39. android:layout_height="wrap_content"
  40. android:background="@drawable/hah"
  41. android:textColor="#f000"
  42. />
  43. </LinearLayout>
  44. </ScrollView>
  45. </LinearLayout>

然后在代码中对编辑框绑定输入监听事件:

  1. public class EditTextTestActivity extends Activity {
  2. /**编辑框*/
  3. private EditText edit1_;
  4. /**文本*/
  5. private TextView text_;
  6. private TextView text1_;
  7. private TextView text2_;
  8. /** Called when the activity is first created. */
  9. @Override
  10. public void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.main);
  13. /*设置当前页面的布局*/
  14. setMyLayout();
  15. }
  16. /**
  17. * 设置当前页面的布局
  18. */
  19. private void setMyLayout(){
  20. /*取得文本*/
  21. text_ = (TextView)findViewById(R.id.id_textview);
  22. text1_ = (TextView)findViewById(R.id.id_textview_1);
  23. text2_ = (TextView)findViewById(R.id.id_textview_2);
  24. /*取得编辑框*/
  25. edit1_ = (EditText)findViewById(R.id.id_edittext_1);
  26. /*监听 编辑框中的文本改变事件*/
  27. edit1_.addTextChangedListener(new TextWatcher() {
  28. @Override
  29. public void onTextChanged(CharSequence s, int start, int before, int count) {
  30. /*++ 文本每次改变就会跑这个方法 ++*/
  31. if(null != text_){
  32. text_.setText("您正在输入......\n当前光标处在第 " + start
  33. +" 个位置\n您选择处理了 " + before + " 个字符\n您这次输入的词语有 "
  34. + count + " 个字符");
  35. }
  36. }
  37. @Override
  38. public void beforeTextChanged(CharSequence s, int start, int count,
  39. int after) {
  40. /*++这里的count树枝上是和onTextChanged()里的before一样的
  41. * after树枝上是和onTextChanged()里的count一样的 ++*/
  42. if(null != text1_){
  43. text1_.setText("您正在输入......\n当前光标处在第 " + start
  44. +" 个位置\n您选择处理了 " + count + " 个字符\n您这次输入的词语有 "
  45. + after + " 个字符");
  46. }
  47. }
  48. @Override
  49. public void afterTextChanged(Editable s) {
  50. /*++这里显示出输入的字符串++*/
  51. if(null != text2_){
  52. text2_.setText(s);
  53. }
  54. }
  55. });
  56. }
  57. }

然后就ok了,很多地都可以用到这个办法。

源代码在下面:

http://download.csdn.net/detail/zoeice/4399601

监听EditView中的文本改变事件详解--转的更多相关文章

  1. Android 监听EditView中的文本改变事件

    android中的编辑框EditText也比较常用,那比如在搜索框中,没输入一个字,下面的搜索列表就显示有包含输入关键字的选项,这个输入监听怎么实现的呢? 我们可以建一个例子,效果图如下: 我们可以监 ...

  2. JavaScript中的鼠标滚轮事件详解

    JavaScript中的鼠标滚轮事件详解/*Firefox注册事件*/ ~~~Firefox: addEventListener('DOMMouseScroll', handler, false)if ...

  3. 单选框radio改变事件详解(用的jquery的radio的change事件)

    单选框radio改变事件详解(用的jquery的radio的change事件) 一.总结 1.用的jquery的radio的change事件:当元素的值发生改变时,会发生 change 事件,radi ...

  4. Fragment-如何监听fragment中的回退事件与怎样保存fragment状态

    一.如何监听Fragment中的回退事件 1.问题阐述 在Activity中监听回退事件是件非常容易的事,因为直接重写onBackPressed()函数就好了,但当大家想要监听Fragment中的回退 ...

  5. 【转】监听按钮除OnClick外其他事件的方法,附简易改编的UIButton类

    http://lib.csdn.net/article/unity3d/38463 作者:IceFantasyLcj 大家好,我是雨中祈雨.一直以来,CSDN都是我最好的编程助手.这是我在CSDN的第 ...

  6. 【转】 NGUI 监听按钮除OnClick外其他事件的方法,附简易改编的UIButton类

    http://blog.csdn.net/icefantasylcj/article/details/49450555 大家好,我是雨中祈雨.一直以来,CSDN都是我最好的编程助手.这是我在CSDN的 ...

  7. JAVA GUI 事件监听事件 详解 和 案例.

    GUI(图形用户界面) Graphical User Interface(图形用户接口) 用图形的 方式, 来显示 计算机操作的 界面, 这样更方便 更直观. CLI Command Line Use ...

  8. VueApp监听手机物理返回键的事件

    代码 第一步创建js文件夹子 在main里面引用   JS文本内容如下 //监听手机物理返回键的事件 document.addEventListener('plusready', function() ...

  9. js 实时监听input中值变化

    注意:用到了jquery需要引入jquery.min.js. 需求: 1.每个地方需要分别打分,总分为100; 2.第一个打分总分为40; 3.第二个打分总分为60. 注意:需要判断null.&quo ...

随机推荐

  1. Ubuntu 国内安装 kubernetes

    由于墙的原因,国内要安装 kubernetes 非常的麻烦,因此只要解决这个问题,就可以顺利安装 kubernetes 的 三个官法工具 kubelet.kubeadm.kubectl. 安装环境: ...

  2. php相关问题学习(以备面试)

    1.原味地址:[ http://www.yiichina.com/tutorial/57 ] 注:本文转自 http://www.icultivator.com/p/5535.html 整理了一份PH ...

  3. 创业学习---《调研黑客上:锁定调研目标》--D-2.调研模块---HHR计划---以太一堂

    第一,开始学习: 思考题: (1)你的项目有哪些值得关注的竞争对手?为什么是这些,你是如何分类的? (2)拿出其中一个产品,你会怎么分析他? 第一,<明确调研目标>(补充) 1,调研4大类 ...

  4. eclipse链接mySQL数据库常见错误

    1错误: 解决: 2,用户名输入错误 解决:查看自己的正确用户名https://zhidao.baidu.com/question/248308313.html 3. 解决: 链接示例:https:/ ...

  5. C语言:找出一个大于给定整数m且紧随m的素数,-求出能整除x且不是偶数的数的个数,

    //函数fun功能:找出一个大于给定整数m且紧随m的素数,并作为函数值返回. #include <stdlib.h> #include <conio.h> #include & ...

  6. c++开源库rapidxm

    1.引入头文件: 一般用到的头文件: #include "rapidxml/rapidxml.hpp" #include "rapidxml/rapidxml_utils ...

  7. 「CF241E」Flights

    传送门 Luogu 解题思路 首先对于所有不属于任何一条路径上的边,它的权值是任意的. 对于所有在路径上的边 \((u,v)\) 满足 \(1\le dis_v-dis_u\le2\) 差分约束即可. ...

  8. 计算机基础 - 动态规划、分治法、memo

    动态规划 ≈ 分治法 + memo def memo(func): cache = {} def wrap(*args): if args not in cache: cache[args] = fu ...

  9. C++中宏的定义与用法(现已被内联函数所代替)

    在noip中,宏还是被经常采用,所以这里讲一下,C++中宏的定义与用法 第一种用法——配合条件编译:#define DEBUG 定义一个叫DEBUG的标识符.它应该与#ifdef或#ifndef配合使 ...

  10. JavaSE复习~基本数据类型

    数据类型 java有两大类数据类型:基本数据类型 和 引用数据类型 基本数据类型 整数型:byte.short.int.long 浮点型:float.double 字符型:char 布尔型:boole ...