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);
    }
}
相关推荐
dal118网工任子仪7 小时前
91,【7】 攻防世界 web fileclude
android·前端
taopi20247 小时前
android java 用系统弹窗的方式实现模拟点击动画特效
android
fanged7 小时前
Android学习19 -- 手搓App
android
dal118网工任子仪8 小时前
99,[7] buuctf web [羊城杯2020]easyphp
android·前端·android studio
村口老王13 小时前
鸿蒙开发——应用程序包及模块化设计
android·前端·harmonyos
6v6博客13 小时前
如何在 Typecho 中实现 Joe 编辑器标签自动填充
android·编辑器
程序员牛肉17 小时前
为什么网络上一些表情包在反复传播之后会变绿?“电子包浆”到底是怎么形成的?
android
志尊宝17 小时前
Android 深入探究 JSONObject 与 JSONArray:Android 中的数据解析与数组操作全解析
android
莫名有雪1 天前
BUUCTF_[网鼎杯 2020 朱雀组]phpweb(反序列化绕过命令)
android
爱写代码的山山1 天前
虚幻UE5手机安卓Android Studio开发设置2025
android·ue5·虚幻