gpt4 book ai didi

Android - 事件监听器

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:23:38 27 4
gpt4 key购买 nike

我希望这是一个简单的问题。我有主要 Activity ,在这个 Activity 中我创建了某个类的实例。如何将一些事件从一个类(class)发送到主类(class)?如何设置某种监听器以在类之间发送通知。我现在知道/使用的唯一选择是保留对父类的引用并直接调用子类中的某些函数。

我想知道是否可以在 ActionScript 中创建类似的东西,我可以在其中调用 dispatchEvent(new Event("name")) 并稍后设置 addEventlistener("name"function) ??

最佳答案

如果“我实现了某个类”意味着您已经在 Activity 类中声明了一个嵌套类,那么嵌套的非静态类将引用父类对象。

一般来说,您始终可以自己创建调度程序/监听器模式。创建监听器接口(interface)并将 addListener 或 setListener 方法添加到将分派(dispatch)事件的类。

监听器示例:

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();
}
}

关于Android - 事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10352719/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com