Android03_Listener监听

在做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这个函数,但是,有个不好的地方,这段代码如果只是用于那种只输入一次的输出框中,还是很好用的,但是如果是用于计算器这样的经常输入的显示框中就不怎么好用了。因为只显示一次了。

时间: 2024-10-06 18:25:43

Android03_Listener监听的相关文章

Android 监听ListView、GridView滑动到底部

// 监听listview滚到最底部mIndexList.setOnScrollListener(new OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { switch (scrollState) { // 当不滚动时 case OnScrollListener.SCROLL_STATE_IDLE: // 判断滚动到底部 if (view.get

使用path监听指定文件系统的变化

在以前的JAVA版本中,如果程序需要检测文件的变化,那么需要开辟一个线程每隔一段时间去遍历一次指定的目录,如果发现此次遍历结果和上次不同,那么就认为文件变动了 ,这样的方式非常繁琐,JAVA 7之后的NIO.2 Path类提供了一个方法来监听指定文件目录内文件的变化状态. 1.获取文件系统的WatchService对 2.使用Path类的方法去注册一个监听,指定监听文件的哪些状态,如新增.修改.删除. package com.nio2; import java.io.IOException;im

老男孩教育每日一题-2017年5月11-基础知识点: linux系统中监听端口概念是什么?

1.题目 老男孩教育每日一题-2017年5月11-基础知识点:linux系统中监听端口概念是什么? 2.参考答案 监听端口的概念涉及到网络概念与TCP状态集转化概念,可能比较复杂不便理解,可以按照下图简单进行理解? 将整个服务器操作系统比喻作为一个别墅 服务器上的每一个网卡比作是别墅中每间房间 服务器网卡上配置的IP地址比喻作为房间中每个人 而房间里面人的耳朵就好比是监听的端口 当默认采用监听0.0.0.0地址时,表示房间中的每个人都竖起耳朵等待别墅外面的人呼唤当别墅外面的用户向房间1的人呼喊时

Android简易实战教程--第十九话《手把手教您监听EditText文本变化,实现抖动和震动的效果》

监听文本输入情况,仅仅限于土司略显low点,这一篇就稍微"高大上"些,体验一下滚动和震动. 首先,需要两个文件.截图: 两个文件的内容分别如下: cycle_7: <?xml version="1.0" encoding="utf-8"?> <!-- 表示循环的次数 --> <cycleInterpolator xmlns:android="http://schemas.android.com/apk/re

屏幕触摸事件监听,判断上下左右的操作行为,判断方法缩小的操作行为

在手机屏幕上能够实现的人机交互行为,大致包括点击按钮,拉动滑动块,物体缩放,上下左右拉动等. 手机屏幕触摸事件的监听方法: 1.首先要设置一块布局区域,frameLayout/LinearLayout等都可以,并为布局设置id: 2.在Activity中声明相应的布局类型,并通过findViewById()方法找到该布局,然后为该布局区域设置setOnTouchListener()方法,就能监听在相应屏幕触摸操作 实现屏幕触摸事件监听的代码: private LinearLayout Land;

Oracle只监听本机,网络其他计算机连不上

Oracle只能本机连接,网络其他计算机连不上 Oracle 只监听本地127.0.0.1,导致网络其他计算机连不上解决办法: 修改 listener.ora监听文件,把其中的localhost 改成计算机名.重启Oralce监听和服务.

对另一个布局文件里的Button按钮进行监听

布局文件里面的Button写上 onClick = “onClick”,然后在你当前Activity的onClick方法中根据Button的id来做相应的操作 android:id="@+id/single_file_download" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" androi

Android 自定义Dialog类,并在Activity中实现按钮监听。

实际开发中,经常会用到Dialog,比如退出时候会弹出是否退出,或者还有一些编辑框也会用Dialog实现,效果图如下: 开发中遇到的问题无非在于如果在Activity中监听这个Dialog中实现的按钮,Dialog类如下,在MyDialog这个类中实现了一个LeaveMyDialogListener接口,用来实现onclick的点击事件: package com.Ieasy.Tool; import com.Ieasy.ieasyware.R; import android.app.Dialog

linux下自动检测服务端口是否正常监听。

脚本说明: 1.检查服务器的各端口服务是否正常. 2.服务端口如果没有正常监听,将自动重启该端口服务,记录日志,并发邮件通知管理员. 3.让crontab每5分钟自动执行该脚本. 4.脚本调用了sendEmail来发邮件,请自行谷歌百度装sendEmail.再次提醒是sendEmail 不是sendmail  ... [[email protected] ~]# cat monitor.sh #!/bin/bash # # description:  service check export P