我希望这将是简单的问题。 我的主要活动,在这个活动我创造了一些类的实例。 如何发送一些事件形成一个类最主要的一个? 如何设置某种监听器类之间发送通知。 唯一的选择是什么,我知道/现在使用的是保持参照父类和直接调用从子类的一些功能。
我不知道是否有可能创造这样的ActionScript中,在那里我可以打电话dispatchEvent(新的事件(“名字”)),后来设置的addEventListener(“名”的功能)?
我希望这将是简单的问题。 我的主要活动,在这个活动我创造了一些类的实例。 如何发送一些事件形成一个类最主要的一个? 如何设置某种监听器类之间发送通知。 唯一的选择是什么,我知道/现在使用的是保持参照父类和直接调用从子类的一些功能。
我不知道是否有可能创造这样的ActionScript中,在那里我可以打电话dispatchEvent(新的事件(“名字”)),后来设置的addEventListener(“名”的功能)?
如果“我实现一些类”意味着你已经宣布你的Activity类比嵌套的非静态内部类的嵌套类将具有对父类对象的引用。
在一般情况下,你总是可以创建调度程序/侦听模式你的自我。 创建侦听器接口以及的addListener或setListener方法添加到类,将调度事件。
听者的实施例:
public interface IAsyncFetchListener extends EventListener {
void onComplete(String item);
void onError(Throwable error);
}
事件调度器的实施例:
public class FileDownloader {
IAsyncFetchListener fetchListener = null;
...
private void doInBackground(URL url) {
...
if (this.fetchListener != null)
this.fetchListener.onComplete(result);
}
public void setListener(IAsyncFetchListener listener) {
this.fetchListener = listener
}
}
与事件监听器类的实施例:
public class MyClass {
public void doSomething() {
FileDownloader downloader = new FileDownloader();
downloader.setListener(new IAsyncFetchListener() {
public void onComplete(String item) {
// do something with item
}
public void onError(Throwable error) {
// report error
}
});
downloader.start();
}
}
只要落实生成的事件类的监听(或听众的名单)。
当产生一个事件遍历这个列表,并呼吁所有听众必须实现的方法(通过接口也许?)
希望它的帮助下,JQCorreia