Android – 事件侦听器

我希望这将是简单的问题.
我有主要的活动,在这个活动中我创建了一个类的一个实例.如何将一个事件形式发送到主要的一个类?如何设置某种监听器在类之间发送通知.只有我所知道/使用的选项是继续引用父类,并直接从子类调用一些函数.

我想知道是否可以在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();
    }
}

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...