这是使用接口回调的正确方法吗?

这是使用接口回调的正确方法吗?,第1张

这是使用接口回调的正确方法吗?

所以我可以随意走这条路吗?

这种方式不是很正确。

您在说的是称为Observer或

Subscriber
/
Publisher
模式。

简而言之:订户想要从发布者接收事件(杂志问题),因此他将发布事件通知订阅)。之后,发布者将发生的事件通知订阅者。

在您的代码段中,发布者为

Helper
,订阅者为
MainClass
。发布者具有一种订阅形式
IHelper

public class Helper {    IHelper mSubscriber;    ...    void setSubscriber(IHelper subscriber) {        this.mSubscriber = subscriber;    }    ...}

订阅者应填写表格,即

implements IHelper
,并将其自身通知发布者:

public class MainClass implements IHelper {    Helper mPublisher;    ...    void someMethod() {        mPublisher.setSubscriber(this);    }    ...}

现在,当发行人发行新杂志时,订户将收到有关以下内容的通知:

public class Helper {    ...    void newMagazineIssued() {        mSubscriber.onActionDone();    }    void newMagazineFailed() {        mSubscriber.onActionFailed();    }    ...}

一个侦听器示例:

如果上述说法让您有些困惑,请考虑

Button
您刚刚在中初始化了一个
Activity
。该按钮充当发布者,而
Activity
充当订阅者。该
Activity
希望因此订阅与事件当按钮被用户(发布新杂志)单击通知,
setonClickListener()
View.OnClickListener
传递给方法的参数是认购表格。的
Activity
(订户)填充的形式,通过实现接口和重写
onClick()
方法,并传递的形式向法(订阅)。发生点击时,
Activity
系统会通知。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5135299.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存