Android 监听EditView中的文本改变事件
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中的文本改变事件的更多相关文章
- 监听EditView中的文本改变事件详解--转
转自: http://blog.csdn.net/zoeice/article/details/7700529 android中的编辑框EditText也比较常用,那比如在搜索框中,没输入一个字,下面 ...
- 【Android】Android 监听apk安装替换卸载广播
[Android]Android 监听apk安装替换卸载广播 首先是要获取应用的安装状态,通过广播的形式 以下是和应用程序相关的Broadcast Action ACTION_PACKAGE_ADDE ...
- js 实时监听input中值变化
注意:用到了jquery需要引入jquery.min.js. 需求: 1.每个地方需要分别打分,总分为100; 2.第一个打分总分为40; 3.第二个打分总分为60. 注意:需要判断null.&quo ...
- Android监听系统短信数据库变化-提取短信内容
由于监听系统短信广播受到权限的限制,所以很多手机可能使用这种方式没法监听广播,从而没办法获取到系统短信,所以又重新开辟一条路. Android监听系统短信数据库内容变化使用场景: 1.监听短信数据库的 ...
- 【转】Android开发20——单个监听器监听多个按钮点击事件
原文网址:http://woshixy.blog.51cto.com/5637578/1093936 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律 ...
- Android监听ScrollView滑动到顶端和底部
Android监听ScrollView滑动到顶端和底部 package cn.testscrollview; import android.os.Bundle; import android. ...
- Android 监听双卡信号强度(附完整代码)
Android 监听双卡信号强度 监听单卡信号强度 监听单卡的信号强度非常简单直接用TelephonyManager.listen()去监听sim卡的信号强度. TelephonyManager = ...
- UITableView延伸:点击cell关闭键盘,加载不同cell,监听里面的textfeild内容改变
其实点击cell关闭键盘只要一句话 - () { cell = [tableView dequeueReusableCellWithIdentifier:){ cell ...
- Fragment-如何监听fragment中的回退事件与怎样保存fragment状态
一.如何监听Fragment中的回退事件 1.问题阐述 在Activity中监听回退事件是件非常容易的事,因为直接重写onBackPressed()函数就好了,但当大家想要监听Fragment中的回退 ...
随机推荐
- Qt自绘窗体
也许大部分情况下我们不需要自己手动绘制一个窗体,大部分可以通过图片来实现,本篇仅以学习的态度来初略的理解Qt界面的自定义绘制功能. 本篇将实现以下功能: 1.绘制一个椭圆形 2.支持界面的移动操作 ...
- Linux 信号量 生产者消费者小例题
菜鸟偶遇信号量,擦出火花(只有不熟才会有火花).于是上网搜资料和看<Unix环境高级编程>实现了几个小例题,高手请勿喷!这几位写得非常好啊: 题目来源: http://www.it165. ...
- linux 硬盘相关命令学习
summary: 查看硬盘信息:几块硬盘,品牌,容量 查看分区信息 参考资料: Linux下查看磁盘分区命令详解: http://blog.chinaunix.net/uid-26119273-id- ...
- SMB/CIFS协议解析二
一.拷贝文件(远程-->本地) 1.SMB_COM_NT_CREATE_ANDX (0xa2) 打开文件,获取文件名,获得读取文件的 总长度. 2.SMB_COM_READ ...
- IE6/IE7中li底部4px的Bug
当li的子元素中有浮动(float)时,IE6/IE7中<li>元素的下面会产生4px空隙的bug. XHTML <ul class="list"> < ...
- angularJs--<ui-select>
显示: ng-model里面的变量 如果为1,会去 ui-select-choices 里找这个idea数组,然后把数组对应name字段的值,交给 ui-select-match里面显示,$selec ...
- setcookie,getcookie,delcookie,setpostBgPic
function setCookie(name,value) { var Days = 365; //此 cookie 将被保存 30 天 var exp = new Date(); //new Da ...
- Catalyst揭秘 Day1 Catalyst本地解析
Catalyst揭秘 Day1 Catalyst本地解析 今天开始讲下Catalyst,这是我们必须精通的内容之一: 在Spark2.x中,主要会以Dataframe和DataSet为api,无论是D ...
- spark(一) build
(1)编译前的准备工作,安装jdk,解压maven,解压spark,解压scala并配置相关的环境变量 export JAVA_HOME=/opt/module/jdk1.6.0_45 export ...
- js 使用技巧 - [近几年工作中的经验总结的技巧]
1.如果 ajax 返回单一的 json 格式,接收方需要这样再格式化一下赋值: var str = eval("(" + msg + ")"); 开发引用: ...