2010-01-30 50 views
1

请原谅这些问题的基本性质 - 但我们都必须从某个地方开始。我做了一些Google搜索,但所有的答案似乎与UI Events有关。新手Java开发人员问题 - 事件间的类间通信

我正在创建一个非常简单的android应用程序,它将在屏幕上显示您的位置。我有我的主类(HelloAndroid在此刻),它扩展了Activity,并且创建了一个监听更新的类LcoationUpdateHandler。

HelloAndroid包含LocationUpdateHandler的一个实例,所以我的问题是LocationUpdateHandler如何与HelloAndroid进行通信。

在柔性我将派从一个事件到另一个但我已经这样做了搜索似乎并不喜欢做的事情非常的java-Y方式?

感谢您的帮助。

回答

2

当你的HelloAndroid实例创建一个LocationUpdateHandler的实例时,它可以在构造函数中传递一个对自身的引用,LocationUpdateHandler可以存储这些引用以用于未来的事件方法调用。

对于这种情况,你并不需要知道什么类型的对象instantiated LocationUpdateHandler。这是接口进来,你可以定义一个接口来定义事件方法,并实现该接口,以便LocationUpdateHandler可以保持对该接口的引用来传递事件。

如果情况是对称的,两个类都可以实现相同的事件接口。

+0

谢谢你们的答案 - 我今天真的很欣赏Stackoverflow。我从来没有在Flex世界中使用它,因为我知道所有的答案;)。 我不喜欢上添加HelloAndroid依赖于LocationUpdateHandler的想法,但正如你所说的,如果我使用的接口,那么有这个类的没有依赖性。 再次感谢 – Roaders 2010-01-30 13:03:52

1

这听起来像你要找的是什么Observer pattern。它的工作方式是观察员注册他们正在观察的对象,以便他们可以通知事件。

在特定情况下,如果你想LocationUpdateHandler推送信息HelloAndroid,就必须了解HelloAndroid。所以,你应该LocationUpdateHandler至少包含对HelloAndroid的引用,但它推广,它应当有所有实现包含一个回调函数,将被称为每当LocationUpdateHandler有一个更新的通用接口观察者的List