Android03_Listener监听
Android03_Listener监听
程序袁_绪龙 发表于3年前
Android03_Listener监听
  • 发表于 3年前
  • 阅读 68
  • 收藏 5
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

在做Android计算器程序时,上网正好找到了这个代码:

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

下面的例子是实现TextView实时显示EditText输入的内容。

运行结果

程序

1、ex04_1/src/com.example.ex04_1/ex04_1.java

主程序中唯一也是关键之处,便是利用EditText.OnKeyListener来拦截EditText的键盘输入事件,仅需要在其中重写onKey()方法,在onKey()方法中,将EditText.getText()取出来的文字,显示于TextView当中。

package com.example.ex04_1;

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class ex04_1 extends Activity {
/*声明 TextView EditText对象*/
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);

/*取得TextView EditText*/
mTextView01=(TextView)findViewById(R.id.TextView01);
mEditText01=(EditText)findViewById(R.id.EditText01);

/*设置EditText用OnKeyListene事件来启动*/
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;
}

});
}
}

这个是csdn上的博客,原作者是 christina_hu

由于我初出茅庐所以就只能读懂其中的一点点内容,


mEditText = (EditText) findViewById(R.id.etext);

mTextView = (TextView) findViewById(R.id.txsr);
mEditText.setOnKeyListener(new EditText.OnKeyListener(){


@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
//每次按Enter的时候才会显示;
mTextView.setText(mEditText.getText());
//不知道,这里面的FALSE和TRUE有啥区别,都能显示
//return false;

returntrue;
}

});

其实就是调用一个setOnKeyListener这个函数,以及内部的OnKeyListener这个函数,但是,有个不好的地方,这段代码如果只是用于那种只输入一次的输出框中,还是很好用的,但是如果是用于计算器这样的经常输入的显示框中就不怎么好用了。因为只显示一次了。

共有 人打赏支持
粉丝 95
博文 242
码字总数 66750
×
程序袁_绪龙
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: