【Android 进阶】 Android 回调理解

image.png

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 IDialogClickListener


dialog=new ApplyBetaDialog(ApplyBetaActivity.this,isBetaPassed);
//dialog 注册回调事件;
dialog.setListener(this);


// Dialog 中 按确定键时回调此方法
@Override
public void doPositiveClick() {     
        loadPageApplyBetaDta(APPLY_BETA_CHECK);     
}

// Dialog 中 按取消键时回调此方法
@Override
public void doNegativeClick() {     
    loadPageApplyBetaDta(APPLY_BETA_ADD);           
}

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

  1. Activity implement OnClickListener;

  2. Button 注册回调;

mButton.setOnChickListener(this);
  1. 必须实现接口的方法:
 public void onClick(View v) {
    //  doWork();
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容