Android 自定义回调

it2022-05-07  6

刚开始接触的时候,觉得 回调 是一个很难理解的概念,之后就不停的上网查找回调的定义:(当你想要把具体的操作,让具体的人来完成,自己定义一个接口就好。使用的时候用接口,具体的人来实现你的接口,也就是实现了回调。)

其实,仔细一想,onClick(View view) 就是一种回调,只有了解事物原理的本质,才可以灵活运用。

下面给出一个在Dialog中自定义接口的示例:

1、新建XDialog 继承Dialog,

2、定义接口 

public interface CallBackListener{ void testCall(); void testCall(Object o); }

3、定义变量

private CallBackListener callBackListener; public void setCallBackListener(CallBackListener callBackListener){ this.callBackListener = callBackListener; }

4、在构造方法中:

private int count = 0; private void initView(Context context) { Button button = (Button) findViewById(R.id.test_btn); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(null != callBackListener){ ++count; callBackListener.testCall(count); } } }); }

5、在MainActivity中实现回调:

CallBackDialog mCallBack = new CallBackDialog(MainActivity.this); //实现回调 mCallBack.setCallBackListener(new CallBackDialog.CallBackListener() { @Override public void testCall() { } @Override public void testCall(Object o) { //mTextView.setText(o.toString()); // doSomething(); } });

 

转载于:https://www.cnblogs.com/xdindex/p/4616077.html

相关资源:Android 通过自定义Dialog来理解接口回调callback

最新回复(0)