MainActivity如下:
01.
package
cc.cn;
02.
03.
import
cc.cn.ThreadSubclass.YourListener;
04.
import
android.app.Activity;
05.
import
android.os.Bundle;
06.
/**
07.
* Demo描述:
08.
* <a href="http://www.it165.net/pro/ydad/" target="_blank" class="keylink">Android</a>中回调接口使用实例
09.
*/
10.
public
class
MainActivity
extends
Activity {
11.
private
ThreadSubclass mThreadSubclass;
12.
@Override
13.
public
void
onCreate(Bundle savedInstanceState) {
14.
super
.onCreate(savedInstanceState);
15.
setContentView(R.layout.main);
16.
init();
17.
}
18.
19.
private
void
init(){
20.
mThreadSubclass=
new
ThreadSubclass();
21.
mThreadSubclass.setYourListener(
new
YourListener() {
22.
@Override
23.
public
void
onSomeChange(String info,
int
i) {
24.
System.out.println(
"------> info="
+info);
25.
System.out.println(
"------> i="
+i);
26.
}
27.
});
28.
mThreadSubclass.start();
29.
}
30.
31.
}
ThreadSubclass如下:
01.
package
cc.cn;
02.
03.
public
class
ThreadSubclass
extends
Thread {
04.
private
YourListener mYourListener=
null
;
05.
06.
@Override
07.
public
void
run() {
08.
super
.run();
09.
for
(
int
i =
0
; i <
5
; i++) {
10.
System.out.println(
"Now is "
+i);
11.
}
12.
if
(mYourListener!=
null
) {
13.
mYourListener.onSomeChange(
"输入已经完毕"
,
9527
);
14.
}
15.
}
16.
17.
//回调接口(监听器)
18.
public
interface
YourListener {
19.
public
void
onSomeChange(String info,
int
i);
20.
}
21.
22.
//设置回调接口(监听器)的方法
23.
public
void
setYourListener(YourListener yourListener) {
24.
mYourListener = yourListener;
25.
}
26.
27.
28.
29.
}