首页 > 系统 > Android > 正文

Android 回调理解

2019-11-07 23:25:00
字体:
来源:转载
供稿:网友

Android 事件处理方法: 1. 监听事件 2. 回调事件

阅读过不少关于回调事件文章,每次理解一点点,但在实际项目中不能灵活运用 项目中负责“设置”开发,考虑到activity 与 dialog 通讯,Google 反馈使用“回调机制处理”

再此记录回调机制使用方案,方便下次参考使用:

1.定义回调接口

public interface IDialogClickListener { public void doPositiveClick(); public void doNegativeClick();}

2.dialog 提供触发条件方法;

PRivate IDialogClickListener mListener;@Override public void onClick(View v) { if (v.getId() == R.id.dialog_confirm_btn) { if (mListener!=null) { mListener.doPositiveClick(); } }else if (v.getId() == R.id.dialog_cancel_btn) { if (mListener!=null) { mListener.doNegativeClick(); } } dismiss(); }public void setListener(IDialogClickListener mListener) { this.mListener = mListener; }

3. Activity 中注册并提供回调实现

//Activity 集成自定义接口public class ApplyBetaActivity extends Activity implements IDialogClickListenerdialog=new ApplyBetaDialog(ApplyBetaActivity.this,isBetaPassed);//dialog 注册回调事件;dialog.setListener(this);// Dialog 中 按确定键时回调此方法@Overridepublic void doPositiveClick() { loadPageApplyBetaDta(APPLY_BETA_CHECK); }// Dialog 中 按取消键时回调此方法@Overridepublic void doNegativeClick() { loadPageApplyBetaDta(APPLY_BETA_ADD); }

为了便于理解,Android 中Button 是一个很好的回调事件:

Activity implement OnClickListener;

Button 注册回调;

mButton.setOnChickListener(this);必须实现接口的方法: public void onClick(View v) { // doWork();}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表