android如何使用回调函数,android 中使用回调函数

1.定义callback类:

public abstract class AppCallback {

public abstract void startCallback();

}

2.在触发callback函数的地方定义:

private static AppCallback mClearAll = null;

并且定义注册和移除callback的方法:

public static void registerCallback(AppCallback callback, int callBackId) {

if (callBackId == AppConstants.ID_CALL_BACK_OK) {

mFilterOk = callback;

} else if (callBackId == AppConstants.ID_CALL_BACK_CANCEL) {

mFilterCancel = callback;

} else if (callBackId == AppConstants.ID_CALL_CLEAR) {

mClearAll = callback;

}

}

public static void removeCallback(AppCallback callback) {         mClearAll = null;         mFilterOk = null;         mFilterCancel = null;     } 触发事件中调用callback函数: if (mClearAll != null) {                     mClearAll.startCallback();                 } 3.callback内的事务处理(一般和第二步不在一个类(activity)里面,否则也不用使用callback): 首先在onResume中注册callback: public void onResume() {         mShaker.resume();         ResultPageOption.registerCallback(updateWithFilter, AppConstants.ID_CALL_BACK_OK);         ResultPageOption.registerCallback(updateWithFilter, AppConstants.ID_CALL_CLEAR);         ResultPageOption.registerCallback(filterCancel, AppConstants.ID_CALL_BACK_CANCEL);         super.onResume();     } 然后再onDestroy中销毁callback: public void onDestroy() {         super.onDestroy();         ResultPageOption.removeCallback(updateWithFilter);     } 最后实现callback内要做什么: private AppCallback updateWithFilter = new AppCallback(){         @Override         public void startCallback() {             clearAll();//要做的事         }             };

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值