监听EditText的变化
来源:互联网 发布:软件研发部组织结构图 编辑:程序博客网 时间:2024/05/01 17:46
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。
http://liangruijun.blog.51cto.com/3061169/729505
使用EditText的addTextChangedListener(TextWatcher watcher)方法对EditText实现监听,TextWatcher是一个接口类,所以必须实现TextWatcher里的抽象方法:
当EditText里面的内容有变化的时候,触发TextChangedListener事件,就会调用TextWatcher里面的抽象方法。
MainActivity.javapackage com.lingdududu.watcher; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.util.Log; import android.widget.EditText; public class MainActivity extends Activity { private EditText text; String str; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); text = (EditText)findViewById(R.id.text); text.addTextChangedListener(textWatcher); } private TextWatcher textWatcher = new TextWatcher() { @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub Log.d("TAG","afterTextChanged--------------->"); } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub Log.d("TAG","beforeTextChanged--------------->"); } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { Log.d("TAG","onTextChanged--------------->"); str = text.getText().toString(); try { //if ((heighText.getText().toString())!=null) Integer.parseInt(str); } catch (Exception e) { // TODO: handle exception showDialog(); } } }; private void showDialog(){ AlertDialog dialog; AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("消息").setIcon(android.R.drawable.stat_notify_error); builder.setMessage("你输出的整型数字有误,请改正"); builder.setPositiveButton("确定", new DialogInterface.OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }); dialog = builder.create(); dialog.show(); } } main.xml<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="请输入整型数字" /> <EditText android:id="@+id/text" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
0 0
- 监听EditText的变化
- 监听EditText的变化
- 监听EditText的变化
- 监听EditText的变化
- 监听EditText的变化
- 监听EditText的变化
- 监听EditText的变化--TextWatcher
- android 监听EditText 的变化
- android 监听EditText的变化
- Android开发:监听EditText字数的变化
- Android开发教程:监听EditText的变化
- Android开发教程:监听EditText的变化
- 【Android进阶学习】监听EditText的变化
- 【Android进阶学习】监听EditText的变化
- 【Android进阶学习】监听EditText的变化
- 【Android进阶学习】监听EditText的变化
- 【Android进阶学习】监听EditText的变化
- EditText中监听内容个数的变化
- swift详解二十五 -------------- CALyer 几何学
- Android中数据存储——ContentProvider存储数据
- UIday1101:UITableView 3 自定义cell 多种cell混合使用 cell自适应高度
- SDUT2038-----数字游戏
- 关于sql数据表中查找重复记录的技巧
- 监听EditText的变化
- Java 创建对象时的初始化过程
- Html学习笔记1
- android学习笔记(一)
- Android4.4竖屏切换至横屏的生命周期变换
- java小程序:输出一到一百素数 , 每五个换行
- ubuntu git push 重复输入用户名和密码
- 【Google内推】2016校园招聘
- 为什么看AV