导言:
回调是基本知识,这里只是记录,举例实例1和实例2
实例1步骤:
1:创建回调接口---------Callback
interface Callback {
void setData(String result);
}
2:只调用不处理,但是参数都是实体值
public void test(Callback callback,String result) {
//result值是实际值
callback.setData(result);
}
3:implements Callback接口并处理
@Override
public void setData(String result) {
//这里是具体处理
}
实例2步骤:
1:创建回调接口---------Callback
public interface Callback {
void success(String result);
void fail();
}
2:只调用不处理,但是参数都是实体值
public static void test(final Callback callback, Map<String, String> map, String url) {
OkHttpUtils
.post()
.url(url)
.params(map)
.build()
.execute(new StringCallback() {
@Override
public void onResponse(String response, int id) {
callback.success(response);
}
@Override
public void onError(Call call, Exception e, int id) {
callback.fail();
}
});
}
3:implements Callback接口并处理,调用B并处理---------C类
B.test(new Callback() {
@Override
public void success(String result) {
//成功时处理result
Gson gson = new Gson();
Bean mBean = gson.fromJson(result, Bean.class);
......
}
@Override
public void fail() {
//失败时处理
ToastUtil.INSTANCE.sametoast(this, "请求失败!", Toast.LENGTH_SHORT);
}
}, map, UrlContainer.TEST_URL);
实例3步骤:
1:创建回调接口---------MainFragmentInterface
interface MainFragmentInterface {
void setMainActivityBanner(int carouselTime, List<String> images);
}
2:只调用不处理,但是参数都是实体值
((MainFragmentInterface) getActivity()).setMainActivityBanner(carouselTime, arrayList);
3:implements MainFragmentInterface 接口实现并处理
@Override
public void setMainActivityBanner(int carouselTime, List<String> images) {
.........
}
实例4步骤:
数据传递:
Adapter->View/Fragment/Activity
View->Fragment/Activity
Fragment->Activity
1:创建回调接口---------IPhotoCheckBox
public interface IPhotoCheckBox {
public void checkClick(int position, PhotoInfo info);
}
2:只调用不处理,但是参数都是实体值
IPhotoCheckBox listener;
public void setPhotoSelectListener(IPhotoCheckBox listener) {
this.listener = listener;
}
listener.checkClick(position,list.get(position));
3:implements IPhotoCheckBox接口实现并处理
photoAdapter.setPhotoSelectListener(new IPhotoCheckBox() {
@Override
public void checkClick(int position, PhotoInfo pinfo) {
}
});
这就是android 回调的DEMO,仅供参考