最近做ListView网络图片的异步加载,以及下载网路MP3动态进度显示。看过一些源码都涉及这样的回调,这样节省了很多不必要的重复操作,非常简便。写了一个Demo,够简单的吧.
[b]Demo1.java[/b]
[b]Demo2.java[/b]
你会考虑回调函数和返回函数有何区别?优势在哪里?我只能说具体的优势我现在也不清楚,这些都需要的实际开发中去摸索。但是摆在面前很清晰的一点是,return能返回两个,或者多个值吗?回调函数可以做到!
[b]Demo1.java[/b]
package com.demo;
import com.demo.Demo2.TestInterface;
public class Demo1 {
private String demo2Param;
private Demo2 demo2 = new Demo2();
public void demo1Test(){
demo2.demo2Test(new TestInterface() {
public void method(String para1, String para2) {
// TODO Auto-generated method stub
demo2Param = para1 + " && "+para2;
System.out.println("Print:"+demo2Param);
}
});
}
public static void main(String[] args) {
new Demo1().demo1Test();
}
}
[b]Demo2.java[/b]
package com.demo;
public class Demo2 {
private String para1 = "IS PARA1";
private String para2 = "IS PARA2";
public void demo2Test(TestInterface testInterface){
testInterface.method(para1,para2);
}
public interface TestInterface{
public void method(String para1,String para2);
}
}
你会考虑回调函数和返回函数有何区别?优势在哪里?我只能说具体的优势我现在也不清楚,这些都需要的实际开发中去摸索。但是摆在面前很清晰的一点是,return能返回两个,或者多个值吗?回调函数可以做到!