一直以来搞不懂接口是什么,干什么用的,今天终于有了自己的理解:
这篇是一个接口的例子
http://www.cnblogs.com/lwbqqyumidi/p/3645561.html
个人理解:
接口,真的是像他的名字,就是一个接入另外一个activity或者组件什么的入口,
可以让你插入一段操作;
以上面的例子为代表,就是dialog有两个按钮,点击之后,取消只是让dialog消失
确定的话,可能返回一个值,或者跳转到其他页面,由于每个新建dialog不同,结果也不同,
所以不能在自定义dialog中写死,因此,有了接口就方便了很多
public static void Exit(final Context context) {
final ConfirmDialog confirmDialog = new ConfirmDialog(context, "确定要退出吗?", "退出", "取消");
confirmDialog.show();
confirmDialog.setClicklistener(new ConfirmDialog.ClickListenerInterface() {
@Override
public void doConfirm() {
// TODO Auto-generated method stub
confirmDialog.dismiss();
//toUserHome(context);
AppManager.getAppManager().AppExit(context);
}
@Override
public void doCancel() {
// TODO Auto-generated method stub
confirmDialog.dismiss();
}
});
}
你可以在自己新建的dialog中通过setClicklistener去自己定义,就相当于往dialog这个正常进行的线程已经有的接口中插入一段自己希望执行的事。
-----------------------------------------------
还有一种用法就是这样
public class HttpAPI {
private static boolean success=false;
/** 校验验证码 */
public static void checkCode(final Context context, String account,
String phone, String code, final PostBackListener l) {
if (success) {
// 验证码 TODO
l.success();
} else {
l.fail();
}
}
/** 返回成功 */
public interface PostBackListener {
public void success();
public void fail();
}
}
public class SplashActivity extends Activity {
private void init() {
PostBackListener listener = new PostBackListener() {
@Override
public void success() {
showActivity(AccountsLoginActivity.this,
InputNickNameActivity.class);
overridePendingTransition(R.anim.activity_translate_to_left_in,
R.anim.activity_translate_to_left_out);
finish();
}
@Override
public void fail() {
// TODO Auto-generated method stub
T.showShort(AccountsLoginActivity.this,
R.string.identifying_wrong);
}
};
HttpAPI.checkCode(this, phoneNumber, phoneNumber, identNumber, listener);
}
}
这样就在HttpAPI这个方法里面插入了一个接口,我在用这个方法的时候可以自己加一点操作