监听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 ...
随机推荐
- Spring5 of WebClient(转载)
前言 Spring5带来了新的响应式web开发框架WebFlux,同时,也引入了新的HttpClient框架WebClient.WebClient是Spring5中引入的执行 HTTP 请求的非阻塞. ...
- 笔记本电脑插上耳机声音依然外放解决方法 为什么插入HDMI线,电脑的音响就没有声音了
笔记本电脑插上耳机声音依然外放解决方法: 下载一个驱动大师,安装声卡驱动.(驱动人生安装的驱动有可能不能用) 为什么插入HDMI线,电脑的音响就没有声音了 参考:https://zhidao.baid ...
- Block Chain Learning Notes
区块链是什么 区块链技术是由比特币创造的,本文也将从比特币开始进行引导,一步一步告诉大家什么是区块链.如果你想立马知道区块链是什么,也可以直接转到文章末尾的区块链定义. 区块链,可能是当下最有前景又充 ...
- 微信+QQ跳转
加到对应页面的</body> 上面,或者<head> </head>之间 <script type="text/javascript"&g ...
- ASP.NET Core搭建多层网站架构【4-工作单元和仓储设计】
2020/01/28, ASP.NET Core 3.1, VS2019, Microsoft.EntityFrameworkCore.Relational 3.1.1 摘要:基于ASP.NET Co ...
- ASP.NET FileUpload 上传文件类型验证
验证的核心方法: public static bool IsAllowedExtension(FileUpload hifile) { //原方法是这样的,会提示找不到文件 //System.IO.F ...
- Dubbo教程:入门到实战
Dubbox简介 Dubbox 是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo ,被国内电商及互联网项目中使用,后期阿里巴巴停止了该项目的维护,当当网便在Dubbo基础上进行优化,并继续维护 ...
- ROS及Ubuntu学习记录
1.ROS安装时出现 “无法获得锁的解决方法” 参考:https://www.jianshu.com/p/6868ed4b4aec 2.运行rviz时 要先在一个终端窗口运行roscore 3.虚拟机 ...
- SpringBoot RESTful API 架构风格实践
如果你要问 Spring Boot 做什么最厉害,我想答案就在本章标题 RESTful API 简称 REST API . 本项目源码下载 1 RESTful API 概述 1.1 什么是 RESTf ...
- Spring Boot 使用 Aop 实现日志全局拦截
前面的章节我们学习到 Spring Boot Log 日志使用教程 和 Spring Boot 异常处理与全局异常处理,本章我们结合 Aop 面向切面编程来实现全局拦截异常并记录日志. 在 Sprin ...