Android监听EditText内容变化
2012-07-14 14:26
344 查看
1、给EditText追加ChangedListener
2、描述监听
监听EditText的变化
使用EditText的addTextChangedListener(TextWatcher watcher)方法对EditText实现监听,TextWatcher是一个接口类,所以必须实现TextWatcher里的抽象方法:
当EditText里面的内容有变化的时候,触发TextChangedListener事件,就会调用TextWatcher里面的抽象方法。
MainActivity.java
main.xml
效果图:
当我们在输入框输入不是整型数字的时候,会立刻弹出输入框,提示你改正
EditText editText = (EditText) findViewById(R.id.edittext); editText.addTextChangedListener(watcher);
2、描述监听
private TextWatcher watcher = new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub } };
监听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; publicclass MainActivity extends Activity { private EditText text; String str; @Override publicvoid 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 publicvoid afterTextChanged(Editable s) { // TODO Auto-generated method stub Log.d("TAG","afterTextChanged--------------->"); } @Override publicvoid beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub Log.d("TAG","beforeTextChanged--------------->"); } @Override publicvoid 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(); } } }; privatevoid 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 publicvoid onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }); dialog = builder.create(); dialog.show(); } }
main.xml
<?xmlversion="1.0"encoding="utf-8"?> <LinearLayoutxmlns: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>
效果图:
当我们在输入框输入不是整型数字的时候,会立刻弹出输入框,提示你改正
相关文章推荐
- Android应用开发EditText文本内容变化监听方法
- Android应用开发EditText文本内容变化监听方法
- Android应用开发EditText文本内容变化监听方法
- Android: EditText监听内容变化
- Android应用开发EditText文本内容变化监听方法
- Android中动态监听EditText控件内容变化
- Android 监听EditText控件文本变化并修改显示内容
- Android EditText得到和失去焦点、内容变化的监听
- Android应用开发EditText文本内容变化监听方法
- (转)监听EditText内容变化的两种方式
- Android开发教程:监听EditText的变化
- 【Android进阶学习】监听EditText的变化
- 【Android进阶学习】监听EditText的变化
- Android开发教程:监听EditText的变化
- 监听EditText内容变化及字数限制
- 监听EditText内容变化的两种方式
- Android EditText内容监听
- Android编程实现监听EditText变化的方法
- android EditText 实时监听输入框的内容