Android 事件监听处理

时间:2022-08-30 13:53:09

事件监听的处理模型包括三个成员:事件源、事件以及事件监听器。

基于监听的事件处理模型一般包括几个步骤:

1、获取普通界面组件;

2、实现事件监听器类

3、将监听器对象注冊给普通组件

当事件源上发生指定事件的时候。Android就会触发相应事件监听器,并由事件监听器调用相应的方法来处理事件。

public class RemoteControlActivity extends Activity {
EditText ipET;
EditText socketET;
Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ipET = (EditText)findViewById(R.id.IpEditText);
socketET = (EditText)findViewById(R.id.SocketEditText);
//获取程序中名为 ConnectButton 的button组件
button = (Button)findViewById(R.id.ConnectButton);
//为button绑定事件监听器,并实现该监听类的方法
 button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String ipnum = ipET.getText().toString();
int socketnum = Integer.parseInt(socketET.getText().toString());
Settings.ipnum =ipnum;
Settings.scoketnum = socketnum;
try {
DatagramSocket socket = new DatagramSocket();
InetAddress serverAddress = InetAddress.getByName(ipnum);
Intent intent = new Intent(RemoteControlActivity.this,ControlActivity.class);
RemoteControlActivity.this.startActivity(intent);
RemoteControlActivity.this.finish();
Toast.makeText(RemoteControlActivity.this, "连接成功", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
});
}
}

从上面代码中能够看到。被监听的事件源是名字为connectbutton的按钮(即事件源),随之调用 setOnClickListener 方法将事件监听器对象 OnClickListener() 注冊给事件源,而且实现了事件监听类 OnClickListener() 及其方法 onClick(View v).

这里使用匿名内部类作为事件监听器类

Android 事件监听处理的更多相关文章

  1. Android事件监听(二)——点击鼠标事件

    Button.ImageButton事件监听(setOnClickListener) 方法一:通过匿名内部类实现 代码如下: package com.note.demo2; import androi ...

  2. android 事件监听

    步骤: 1.获取代表控件对象. 2.定义一个类,实现监听接口. 3.生成监听器对象. 4.为控件绑定监听器对象. XML <LinearLayout xmlns:android="ht ...

  3. 王立平--android事件监听的3种方式

    第一种通常在activity组件的oncreate事件中直接定义,直接动作. 这样的方式每一个控件都定义一次.通常不方便. Button btn = (Button) findViewById(R.i ...

  4. Android事件监听(一)——简介篇

    Button.ImageButton事件 setOnClickListener     点击时触发 ListView事件 setOnItemSelectedListener   鼠标滚动时触发 set ...

  5. android开发事件监听

    第一种:匿名内部类作为事件监听器类 大部分时候,事件处理器都没有什么利用价值(可利用代码通常都被抽象成了业务逻辑方法),因此大部分事件监听器只是临时使用一次,所以使用匿名内部类形式的事件监听器更合适, ...

  6. 关于android软键盘enter键的替换与事件监听

    android软键盘事件监听enter键  软件盘的界面替换只有一个属性android:imeOptions,这个属性的可以取的值有 normal,actionUnspecified,actionNo ...

  7. Android——按钮的事件监听

    关于Button按钮的四种事件监听方法总结 首先我们在activity_main.xml里面先定义一个Button空间 <RelativeLayout xmlns:android="h ...

  8. 事件监听:诀别Android繁琐的事件注册机制——view&period;setOnXXXXListener

    本版本为1.0,支持较少,使用不够方便.相关封装逻辑结构已升级至2.0,详情可参见:更完善的安卓事件监听实现 先简单扯两句这几天学习下来对java事件监听机制的一点感触.客观地讲,java的事件监听机 ...

  9. Android如何监听蓝牙耳机的按键事件

    写在前面: 直接想要代码很简单,你直接把滚动条拉到最底端就可以看到.如果想要十分地了解为什么,那就按照我规划的一步一步来理解.以下测试环境以手头上有的「Bluedio + 红米手机」. 1.蓝牙耳机的 ...

随机推荐

  1. Nim编码风格

    介绍 Nim语言不限制开发人员使用哪种具体的编码风格, 但为了社区的发展,在编写一些标准库的时候还是应该遵从统一的编码风格 这篇文章会列出一系列的编码风格准则,供大家参考. 但值得注意的是,有很多例外 ...

  2. 利用Solr服务建立的站内搜索雏形---solr1

    最近看完nutch后总感觉像好好捯饬下solr,上次看到老大给我展现了下站内搜索我便久久不能忘怀.总觉着之前搭建的nutch配上solr还是有点呆板,在nutch爬取的时候就建立索引到solr服务下, ...

  3. js事件机制

    js事件属性:

  4. linux cp 直接覆盖不提示信息 解决方法

    默认情况下,cp覆盖时,无论加什么参数 -f 之类的 还是提示是否覆盖. 原因是:服务器会默认增加别名 alias cp=’cp -i’,当你执行cp时,其实执行的是cp –i. [root@ltt0 ...

  5. 【CF1042D】Petya and Array 离散化&plus;树状数组

    题目大意:给定一个长度为 N 的序列,给定常数 t,求有多少个区间 [l,r] 满足 \(\sum\limits_{i=l}^{r}a_i<t\). 题解:先跑一边前缀和,问题等价于求有多少个数 ...

  6. PCB (4)原理图导入PCB

    1导入原理图 打开原理图 之后出现对话框,检查错误,选择更新 2 自动对齐 2布线 手动布线 半自动布线 自动布线 输出

  7. geoserver 问题解决

    GeoServer的8080端口被占用了怎么办?如何修改GeoServer的端口? GeoServer管理页面的登陆地址正常情况下为:http://localhost:8080/geoserver/w ...

  8. zookeeper与kafka安装部署及java环境搭建&lpar;发布订阅模式&rpar;

    1. ZooKeeper安装部署 本文在一台机器上模拟3个zk server的集群安装. 1.1. 创建目录.解压 cd /usr/ #创建项目目录 mkdir zookeeper cd zookee ...

  9. JS浮点计算问题

    问题 用js进行浮点数计算,结果可能会“超出预期”,大部分计算结果还是对的,但是我们可不想在计算这么严谨的事情上还有意外的惊喜.比如: 0.3 + 0.6 = 0.8999999999999999 0 ...

  10. C&num;中获取音频文件时长

    1.在项目中添加引入:COM组件的Microsoft Shell Controls And Automation 2.在引用中找到Shell32,点击右键,在属性中将“嵌入互操作类型”的值改为“fal ...