Android如何创建一个自定义回调接口(例3)

接口回调的实现步骤

1.首先定义一个回调接口。(就是在Andorid Studio里面新建java,选择interface)
java 复制代码
package com.example.simplelayout;
//定义一个接口
public interface CallBack {
    void solution(String str);
    //可以在主类(MainActivity)里面重写这个接口函数
}
2.定义一个接口帮助类,接口帮助类有方法里面有个参数以是这个接口类型的
java 复制代码
package com.example.simplelayout;
//接口帮助类
public class CallBackUtil {
    //调用接口
    private static CallBack cal;
    public static  void setCallBack(CallBack cbk){
        cal=cbk;
    }
    public static  void doCallBack(){
        String info="you have done this!";
        cal.solution(info);
    }
}
3、具体调用类,及通过接口传递数据,主Activity。
java 复制代码
package com.example.simplelayout;
 
import androidx.appcompat.app.AppCompatActivity;
 
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.os.Handler;
 
public class MainActivity extends AppCompatActivity implements CallBack {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        CallBackUtil.setCallBack(this);
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                CallBackUtil.doCallBack();
            }
        }, 1000);
    }
    @Override
    public void solution(String string) {
        Log.e("Enoment", "receive method from CallBackUtil" + string);
    }
}
相关推荐
玩机达人882 小时前
三星S25Ultra/S24安卓16系统Oneui8成功获取完美root权限+LSP框架
android·linux·里氏替换原则
居安思危_Ho3 小时前
RK平台Uniapp自启动缓存问题解决
android·缓存·uni-app·rk平台·uniapp资源文件
molong9313 小时前
Activity/Service/Broadcast/ContentProvider 生命周期交互
android·学习·交互
molong9316 小时前
Android 权限模型(前台、后台、特殊权限)
android
怪兽20146 小时前
Looper、MessageQueue、Message及Handler的关系是什么?如何保证MessageQueue的并发访问安全?
android·面试
奥尔特星云大使7 小时前
mysql高可用架构之MHA部署(二)VIP漂移(保姆级)
android·mysql·架构·mha·ip漂移
深海呐8 小时前
Android 编译速度优化:JVM堆内存扩充
android·jvm·jvm内存扩充·android 加快编译速度
心随雨下9 小时前
Flutter中新手需要掌握的几种Widget
android·flutter·ios
叶辞树9 小时前
查看安卓设备的音视频解码器信息
android