首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Android中定义自定义事件和事件监听器?

如何在Android中定义自定义事件和事件监听器?
EN

Stack Overflow用户
提问于 2012-03-04 14:51:55
回答 2查看 5.7K关注 0票数 2

我是Android应用程序开发的初学者,我在Java开发方面的经验也很少。

我正在开发一个非常基本的上下文感知应用程序,我想知道如何将一些自定义事件通知给我的activity类?(与onClick()不同)。所以如果我有一个负责监控某些资源的类。(为简单起见,让我们假设有一个Timer类,它监视时间并每小时通知Activity类)。

我的activity类如何“订阅”并侦听来自Timer类的此类事件?

如果您能提供一些代码示例以及事件处理在Android/Java中的工作原理,我将不胜感激。感谢您的时间和帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-04 14:54:37

使用Broadcast意图通知监听程序系统或应用程序/自定义事件。

无论何时发生自定义事件,都要使用sendBroadcast方法发送Broadcast

代码语言:javascript
运行
复制
Intent intent = new Intent(NEW_Intent);
intent.putExtra(“Test”,Test1);
sendBroadcast(intent);

要创建新的广播接收器(它将侦听您的事件/广播),请扩展BroadcastReceiver类并覆盖onReceive event handler.The onReceive方法,该方法将在接收到与用于注册接收器的意图过滤器相匹配的Broadcast意图时执行。

在清单文件或代码中注册您的接收方。

//在xml中

代码语言:javascript
运行
复制
<receiver android:name=”.ReceiverName”>
<intent-filter>
<action android:name=”com.paad.action.NEW_INTENT”/>
</intent-filter>
</receiver>

//在代码..

代码语言:javascript
运行
复制
IntentFilter filter = new IntentFilter(NEW_INTENT);
ReceiverName r = new ReceiverName();
registerReceiver(r, filter);
票数 4
EN

Stack Overflow用户

发布于 2012-03-04 14:55:25

您可以使用Intent类完成此操作:http://developer.android.com/reference/android/content/Intent.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9552992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档