setOnKeyListener事件

范例说明

EditText Widget设计的初衷是为了等待User输入而准备的,那么在User输入的同时,又该如何拦截所输入的文字呢?Android的多数Widget都有setOnKeyListener事件,通过Listener捕捉User输入的键盘事件。

接着,本范例将以EditTextTextView示范如何在捕捉User键盘输入文字的同时实时取得文字,同步显示于TextView,类似手机版的Ajax效果,实时输入实时输出。

<!--[if !vml]-->

范例程序

src/irdc.ex04_01/EX04_01.java

主程序中唯一也同时是最关键之处,便是利用EditText.OnKeyListener来拦截EditText的键盘输入事件,仅需在其中重写onKey()方法,在onKey()方法中,将EditText.getText()取出的文字,显示于TextView当中,是一个简单易懂的范例练习。

/* import程序略 */

import android.view.KeyEvent;

public class EX04_01 extends Activity

{

/*声明 TextViewEditText对象*/

private TextView mTextView01;

private EditText mEditText01;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

/*取得TextViewEditText*/

mTextView01 = (TextView)findViewById(R.id.myTextView);

mEditText01 = (EditText)findViewById(R.id.myEditText);

/*设置EditTextOnKeyListener事件来启动*/

mEditText01.setOnKeyListener(new EditText.OnKeyListener()

{

@Override

public boolean onKey(View arg0, int arg1, KeyEvent arg2)

{

// TODO Auto-generated method stub

/*设置TextView显示EditText所输入的内容*/

mTextView01.setText(mEditText01.getText());

return false;

}

});

}

}

扩展学习

这个实时输入实时显示的效果可以扩展到许多手机应用程序中,不妨尝试在OnKey Listener()里做实时文字过滤效果,例如:当User输入不雅的文字时,可以提示User不接受部分关键字。以输入Shit为例,在TextView就会出现:Sh*t,此种做法可以过滤掉不雅文字的出现。

此外,不仅是Widget才具备setOnKeyListener方法重写的功能,事实上,在View里也有View.setOnKeyListener,也就是捕捉User单击键盘时的事件处理,但请特别注意,需拦截这个事件,即View要取得焦点(Focus)才能触发onKeyDown事件。最后提醒你,旧版本当中的View.set KeyListener类已经被删除,1.0r2版之后,已经改用View.setOnKeyListener()方法替换。

更多相关文章

  1. 如何更好地使用EventBus
  2. android - 测试工具Monkey
  3. Android(安卓)4.0 input touch解析(一)
  4. Android(安卓)判断系统用户无操作
  5. 深入浅出Android事件分发机制——源码分析篇
  6. Android(安卓)Monkey压力测试使用
  7. Android按键分发流程之java层按键传递
  8. 通过广播获取Android屏幕旋转事件
  9. Android工程师面试准备知识点

随机推荐

  1. [Android] 开发资料收集:动态加载、插件化
  2. 浅谈Android五大布局——LinearLayout、F
  3. Android单元测试全解
  4. 源码分析Android(安卓)应用进程的启动过
  5. android通过adb wireless的使用
  6. Android知识点记录: 使用代码设置 androi
  7. Android 4.1源代码今日将发布
  8. Android活动的四种启动模式
  9. Android(安卓)热修复框架 AndFix (一)
  10. Android 如何在App中启动系统闹钟