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);
}
} }); }
}

源代码:http://download.csdn.net/detail/zoeice/4399601

Android 监听EditView中的文本改变事件的更多相关文章

  1. 监听EditView中的文本改变事件详解--转

    转自: http://blog.csdn.net/zoeice/article/details/7700529 android中的编辑框EditText也比较常用,那比如在搜索框中,没输入一个字,下面 ...

  2. 【Android】Android 监听apk安装替换卸载广播

    [Android]Android 监听apk安装替换卸载广播 首先是要获取应用的安装状态,通过广播的形式 以下是和应用程序相关的Broadcast Action ACTION_PACKAGE_ADDE ...

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

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

  4. Android监听系统短信数据库变化-提取短信内容

    由于监听系统短信广播受到权限的限制,所以很多手机可能使用这种方式没法监听广播,从而没办法获取到系统短信,所以又重新开辟一条路. Android监听系统短信数据库内容变化使用场景: 1.监听短信数据库的 ...

  5. 【转】Android开发20——单个监听器监听多个按钮点击事件

    原文网址:http://woshixy.blog.51cto.com/5637578/1093936 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律 ...

  6. Android监听ScrollView滑动到顶端和底部

    Android监听ScrollView滑动到顶端和底部     package cn.testscrollview; import android.os.Bundle; import android. ...

  7. Android 监听双卡信号强度(附完整代码)

    Android 监听双卡信号强度 监听单卡信号强度 监听单卡的信号强度非常简单直接用TelephonyManager.listen()去监听sim卡的信号强度. TelephonyManager = ...

  8. UITableView延伸:点击cell关闭键盘,加载不同cell,监听里面的textfeild内容改变

    其实点击cell关闭键盘只要一句话 - () {         cell = [tableView dequeueReusableCellWithIdentifier:){         cell ...

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

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

随机推荐

  1. UVALive 3645 Objective: Berlin(最大流 :时序模型)

    题意:已知n(n <= 150)个城市和m(m <= 5000)个航班,每个航班有出发地.到达地.乘坐人数.起飞时间和降落时间(时间用时和分表示),求从一个指定城市出发,去往另一个指定城市 ...

  2. NTT研发

    2.研发标准 stead---大型机 css terasolunt---反向自动生成设计书 3.开发阶段做好设计,确定需求,测试阶段只是做产品有多差或者完成了多少需求,不是用来提高产品质量的过程

  3. JAVA_SE复习(Class)

    一.面向对象程序设计(OOP) 1.面向对象的程序设计是程序开发的一种方法.它将对象作为程序的基本单元,将程序和 数据封装其中,以提高软件的重用性.灵活性和扩展性 2.三个特征: 封装:隐藏信息 继承 ...

  4. c#汉字转为拼音

    using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressi ...

  5. Django Tutorial 学习笔记

    实际操作了Django入门教程中的范例,对一些细节有了更清晰的掌握.感觉只看文档不动手是不行的,只看文档没法真正掌握其中要素之间的关系,看了很多遍也不行,必须动手做了才能掌握.同时,这次练习在Ecli ...

  6. 网络编程Socket UDP

    图表流程 linux udp测试代码 //server.c #include <stdio.h> #include <stdlib.h> #include <errno. ...

  7. chown

    chown 命令 用途:更改与文件关联的所有者或组 chown [ -f ] [ -h ] [ -R ] Owner [ :Group ] { File ... | Directory ... } c ...

  8. 【BZOJ 1013】 [JSOI2008]球形空间产生器sphere

    Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧毁 ...

  9. python学习笔记6(字典)

    映射:键值对的关系,键(key)映射值(value) 字典是Python唯一的映射类型 >>> phonebook = {'} >>> phonebook {'} ...

  10. UINavigationBar导航栏相关设置

    设置导航颜色 [[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:1] ...