定义回调
- 定义接口 : 在类中定义一个Interface, 并在接口中定义一个抽象方法
- 接口对象 : 在类中定义一个该接口的成员变量
- 设置对象 : 在类中定义一个公共的方法, 可以设置这个接口的对象, 调用该方法给接口对象成员变量赋值
- 调用方法 : 在合适的位置调用接口对象中的方法
实例
public class Persons {
private Callback mCallback;
public interface Callback {
void work(int a);
}
public void setCallback(Callback callback) {
this.mCallback = callback;
}
public void doWork() {
int a = 3 * 7;
mCallback.work(a);
}
}
public class CallbackActivity extends AppCompatActivity implements Persons.Callback {
private static final String TAG = "CallbackActivity";
private Persons persons;
private Button mCall;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_callback);
persons=new Persons();
persons.setCallback(CallbackActivity.this);
mCall=findViewById(R.id.btnCall);
mCall.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
persons.doWork();
}
});
}
@Override
public void work(int a) {
System.out.println("回调结果="+a);
}
}