所以我可以随意走这条路吗?
这种方式不是很正确。
您在说的是称为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系统会通知。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)