Android开发教程:监听EditText的变化
来源:互联网 发布:mysql grouping函数 编辑:程序博客网 时间:2024/05/22 17:24
之前的有关EditText的文章,只是介绍EditText的一些最基本的用法,这次来深入学习一下EditText。
监听EditText的变化
使用EditText的addTextChangedListener(TextWatcher watcher)方法对EditText实现监听,TextWatcher是一个接口类,所以必须实现TextWatcher里的抽象方法:
当EditText里面的内容有变化的时候,触发TextChangedListener事件,就会调用TextWatcher里面的抽象方法。
MainActivity.java
package 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> 效果图:
当我们在输入框输入不是整型数字的时候,会立刻弹出输入框,提示你改正
本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2012-01/52648.htm
- Android开发教程:监听EditText的变化
- Android开发教程:监听EditText的变化
- Android开发:监听EditText字数的变化
- android 监听EditText 的变化
- android 监听EditText的变化
- Android---监听EditText变化
- 【Android进阶学习】监听EditText的变化
- 【Android进阶学习】监听EditText的变化
- 【Android进阶学习】监听EditText的变化
- 【Android进阶学习】监听EditText的变化
- 【Android进阶学习】监听EditText的变化
- 【Android进阶学习】监听EditText的变化
- 监听EditText的变化
- 监听EditText的变化
- 监听EditText的变化
- 监听EditText的变化
- 监听EditText的变化
- 监听EditText的变化
- Apache加载php模块
- doxygen 使用简介(C,C++为代码作注释)
- [Python]网页信息抓取
- iOS学习笔记10—UILabel设置自动使用高和换行
- [ IOS-Cocos2d-x 游戏开发] - cocosBuilder 开发之二
- Android开发教程:监听EditText的变化
- BIT 1088 车厢重组
- 数据结构中栈的实现
- attribute.inputType
- MVC教程第五篇:MVC整合Ajax
- hdu1098 Ignatius's puzzle
- 谁知道这篇电子商务网文要调用什么技术接口吗?
- InputType.TYPE_MASK_CLASS
- Google MicroData,谷歌微数据为博客添加评级