我希望这将是简单的问题.
我有主要的活动,在这个活动中我创建了一个类的一个实例.如何将一个事件形式发送到主要的一个类?如何设置某种监听器在类之间发送通知.只有我所知道/使用的选项是继续引用父类,并直接从子类调用一些函数.
我有主要的活动,在这个活动中我创建了一个类的一个实例.如何将一个事件形式发送到主要的一个类?如何设置某种监听器在类之间发送通知.只有我所知道/使用的选项是继续引用父类,并直接从子类调用一些函数.
我想知道是否可以在ActionScript中创建类似的东西,我可以在其中调用dispatchEvent(new Event(“name”)),然后再安装addEventlistener(“name”函数)?
解决方法
如果“我实现一些类”意味着您已经在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();
}
}