- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
public interface DownloadListener {
public void onDownloaded();
}
public class DownloadManager {
private static DownloadManager instance;
private DownloadListener mDownloadListener;
public static synchronized DownloadManager getInstance(){
if(instance == null)
instance = new DownloadManager();
return instance;
}
private DownloadManager() {
myHandler.sendEmptyMessageDelayed(29, 3 * 1000);
}
public void registerDownloadListener(DownloadListener downloadListener) {
mDownloadListener = downloadListener;
}
Handler myHandler = new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
if (msg.what == 29) {
mDownloadListener.onDownloaded();
return true;
}
return false;
}
});
}
public class I implements DownloadListener {
public I() {
DownloadManager.getInstance().registerDownloadListener(this);
}
@Override
public void onDownloaded() {
Log.e("TAG", "I onDownloaded");
}
}
public class You implements DownloadListener {
public You() {
DownloadManager.getInstance().registerDownloadListener(this);
}
@Override
public void onDownloaded() {
Log.e("TAG", "You onDownloaded");
}
}
public class PATTERNSActivity extends Activity implements DownloadListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
new I();
new You();
DownloadManager.getInstance().registerDownloadListener(this);
}
@Override
public void onDownloaded() {
Log.e("TAG","PATTERNSActivity onDownloaded");
}
}
我期望得到:
I onDownloaded
You onDownloaded
PATTERNSActivity onDownloaded
但我只得到:
PATTERNSActivity onDownloaded
这可能是什么问题?
最佳答案
您将注册的下载器保存在单个实例属性中:
// Last call's downloadListener wins.
public void registerDownloadListener(DownloadListener downloadListener) {
mDownloadListener = downloadListener;
}
最后注册的是该 Activity 的:
new I(); // First set singleton's property to an instance of I...
new You(); // ...then to an instance of You...
// ...then to the current instance.
DownloadManager.getInstance().registerDownloadListener(this);
<小时/>
根据您的评论进行编辑。
public void registerDownloadListener(DownloadListener downloadListener) {
mDownloadListeners.add(downloadListener);
}
...
public boolean handleMessage(Message msg) {
if (msg.what != 29) {
return false;
}
for (DownloadListener listener : mDownloadListeners) {
listener.onDownloaded();
}
return true;
}
关于java - 为什么我的所有听众都没有注册?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8732759/
这个问题在这里已经有了答案: Callback or Promise? [duplicate] (2 个答案) 关闭 7 年前。 我是一个巨大的 promise 链,但是我意识到其中一个函数返回一个
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: “On file dialog cancel” event in JavaScript 当用户点击文件上传对
我还在学习 flutter 。以下是本教程中的代码。当我调用Authservice配置文件时,它返回Observable>。如何获取其中的数据以进行显示。 这是我到目前为止所做的事情,但是它返回了整个
$(".cblClaimSources").on('click', ':checkbox', function (){ alert('im : '+ $(this).attr('id') +
首先,我知道这个问题已经被问过多次,但我的应用程序最近出现的问题激起了我对这个问题的兴趣。我也阅读了 Firebase 文档。 What is the difference between Child
由于 Tomcat 8.0 已停产,我想将我的应用程序直接升级到 Tomcat 9。 当我将基于 Java 的应用程序从本地部署到我的服务器时,我有一个脚本覆盖了 server.xml。我将服务器升级
我是一名优秀的程序员,十分优秀!