参考文章
http://blog.youkuaiyun.com/xiaanming/article/details/8703708
一、android的Handler 回调
1、在Activity中实例化
new ImageUpLoader("postImg/picture?uid=" + uid, picPath,handler2).start();
public Handler handler2 = new Handler() {
@Override
public void handleMessage(android.os.Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 1:
String result = msg.obj.toString();
break;
}
super.handleMessage(msg);
}
};
2、需要回调的类
public class ImageUpLoader extends Thread {
private Handler handler2;
public ImageUpLoader(String string, String path,Handler handler) {
urlString = string;
handler2 = handler;
file = new File(path);
}
public void run() {
// TODO Auto-generated method stub
super.run();
new Runnable() {
public void run() {
Message msg = new Message();
msg.what = 1;
msg.obj = sb1.toString();
handler2.sendMessage(msg);
二、普通回调
1、类
onZidingyiListener.onZDYClick(ZoomImageView.this); //放在需要回调处
private OnZidingyiListener onZidingyiListener;
public void setOnZidingyiListener(OnZidingyiListener onZidingyiListener) {
this.onZidingyiListener = onZidingyiListener;
}
2、Activity
zoomImageView.setOnZidingyiListener(new OnZidingyiListener() {
@Override
public void onZDYClick(ZoomImageView zidingyi) {
ImageDetailsActivity.this.finish();
}
});
public interface OnZidingyiListener {
public void onZDYClick(ZoomImageView zidingyi);
}
三、onActivityResult回调函数
startActivityForResult(Intent intent, int requestCode); 父
onActivityResult(int requestCode, int resultCode, Intent data); 父
setResult(int resultCode, Intent data); 子