1、什么是Callback,什么時(shí)候需要使用Callback
callback是回調(diào)的意思,一般我們需要2個(gè)類需要相互掉用,一個(gè)類把數(shù)據(jù)動(dòng)態(tài)傳遞給另外一個(gè)類的時(shí)候,可以用這種方式,比如Android里面的Launcher類和LauncherModel類,LauncherModel里面有接口很多沒(méi)有實(shí)現(xiàn)的方法,Launcher實(shí)現(xiàn)LauncherModel的接口,實(shí)現(xiàn)方法,傳遞數(shù)據(jù)給LauncherModel類。
2、簡(jiǎn)單代碼理解
1)CallBack.java文件內(nèi)容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
public class CallBack { private Callback mCallback; public CallBack(Callback callback) { this .mCallback = callback; } public static interface Callback { public void before(); public void after(); } public void doThing() { mCallback.before(); System.out.println( "hello chenyu" ); mCallback.after(); } } |
2)TestCallBack.java文件如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
public class TestCallBack implements CallBack.Callback{ public CallBack mCallback; public TestCallBack() { mCallback = new CallBack( this ); } @Override public void before() { System.out.println( "hello before" ); } @Override public void after() { System.out.println( "hello before" ); } public void doThing() { mCallback.doThing(); } public static void main(String[] args) { new TestCallBack().doThing(); } } |
3、運(yùn)行結(jié)果
1
2
3
|
hello before hello chenyu hello before |
以上整理內(nèi)容,需要的朋友可以參考下
原文鏈接:http://blog.csdn.net/u011068702/article/details/70137524