如何使用Java中的回调来调用函数,就像我在C#中一样?
发布时间:2020-05-24 17:41:46 所属栏目:Java 来源:互联网
导读:我是 Java新手,但我需要编写类似C#代码的东西(这是手工打造的原型,只是为了说明我需要的东西) private void ParentFunc(){ var worker = new WorkerClass() worker.DoWork(e = console.Write(Progress + e));}public class WorkerClass()
|
我是 Java新手,但我需要编写类似C#代码的东西(这是手工打造的原型,只是为了说明我需要的东西) private void ParentFunc()
{
var worker = new WorkerClass()
worker.DoWork(e => console.Write("Progress" + e));
}
public class WorkerClass()
{
public method DoWork(Action<int> callback)
{
for (int i=1; i<1000; i++) callback.Invoke(i);
}
}
小解释.我在android中使用AsyncTask并在处理器外部调用,但希望它们发回信号,以便我可以发布进度.我不想把接口放在我的AsyncTask上 解决方法由于不支持闭包,您必须使用接口和匿名内部类.private void ParentFunc {
WorkerClass worker = new WorkerClass();
worker.doWork(new Callback<Integer>() {
public void invoke(Integer arg) {
System.out.println("Progress" + arg);
}
});
}
public class WorkerClass {
public doWork(Callback<Integer> callback) {
for (int i=1; i<1000; i++) callback.invoke(i);
}
}
public interface Callback<T> {
public void invoke(T arg);
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 使用CXF时缺少SoapAction标头
- 由于java.io.NotSerializableException:org.apache.spark.
- java – 使用RestTemplate的Spring Security身份验证
- java使用淘宝API读写json实现手机归属地查询功能代码
- 如何为未命名的模块获取Java 9 ModuleReference
- 什么是“自我抑制不允许”,为什么Javac生成代码导致这个错误
- Java 从互联网上爬邮箱代码示例
- java – if then else条件评估
- java-是否有一种简单的方法来使Apache Tomcat在部署后自动重
- java – 为什么TextView(带有ID)没有自动保存它的状态?
