接口回调-自己理解

来源:互联网 发布:飞行仪表显示软件开发 编辑:程序博客网 时间:2024/05/29 14:23

当在一个地方需要另一个地方的值的时候,需要接口回调,

 1. 首先定义一个接口,定义传递消息的方法  void setMess(传的数据的类型); 2. 将要传出去值得地方声明接口,调用接口的方法将值传进去           定义参数为接口的构造方法,将接口作为参数传入  3  在用值得地方,new接口实现方法,得到值

.

所以:1.定义接口,写抽象方法    public interface CallBackData {        //定义一个传递Bitmap的方法        void getBitmap(Bitmap bitmap);    }2.在将要把值传给别处的地方,声明接口,调用抽象方法将值传入    声明构造方法,将接口传入    public class MyBitMapAsync extends AsyncTask<String,Void,Bitmap> {        private CallBackData callBackData;        public MyBitMapAsync(CallBackData callBackData){            this.callBackData = callBackData;        }        @Override        protected Bitmap doInBackground(String... params) {            Bitmap bitmap = HttpUtils.getBitmapFormUrl(params[0]);            if(bitmap!= null){                return bitmap;            }            return null;        }        @Override        protected void onPostExecute(Bitmap bitmap) {            super.onPostExecute(bitmap);            //            callBackData.getBitmap(bitmap);        }    }3.在接收值得地方,new类的时候通过构造new接口重写抽象方法得到传过来的值,设置     //得到图片的地址    String imagUrl = info.getPic_url();    //开启异步任务下载图片    new MyBitMapAsync(new CallBackData() {        @Override        public void getBitmap(Bitmap bitmap) {            viewHolder.image.setImageBitmap(bitmap);        }    }).execute(imagUrl);
0 0
原创粉丝点击