昨天转载的那个自定义dialog,自定义了两个方法,就用了回调接口。以前也用了几次回调,但都是模仿着项目中的代码写的,一直是一知半解,今天又看了看,大概摸清了思路,原理很简单,以后多用几次就熟悉了。
1,在类中写一个接口及set方法
//接口测试类
private class MyCallBackTest{
private MyCallBack mBack;
private void setMyCallBack(MyCallBack mBack){
this.mBack=mBack;
}
public interface MyCallBack{
public void myBack();
}
}
2,在程序中调用
public class TestActivity extends Activity implements View.OnClickListener,MyCallBackTest.MyCallBack{
private Button bt;
prtvate MyCallBack mCallBack;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
bt=(Button) findViewById(R.id.btTest);
bt.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
mCallBack.setMyCallBack(this);
}
}
@Override
public void myBack() {
Toast.makeTest(this,"调用了回调接口",Toast.LENGTH_LONG).show();
}
}