• 一手遮天 Android


    项目地址 https://github.com/webabcd/AndroidDemo
    作者 webabcd

    一手遮天 Android - java: Callback

    示例如下:

    /java/CallbackDemo1.java

    /**
     * 本例用于演示如何使用支持回调的类
     *
     * 定义回调接口参见:CallbackDemo1_CallbackInterface.java
     * 实现支持回调的类参见:CallbackDemo1_CallbackClass.java
     */
    
    package com.webabcd.androiddemo.java;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.os.Bundle;
    import android.widget.TextView;
    
    import com.webabcd.androiddemo.R;
    
    public class CallbackDemo1 extends AppCompatActivity {
    
        private TextView mTextView1;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_java_callbackdemo1);
    
            mTextView1 = findViewById(R.id.textView1);
    
            sample();
        }
    
        private void sample() {
            CallbackDemo1_CallbackClass xxx = new CallbackDemo1_CallbackClass(new CallbackDemo1_CallbackInterface() {
                @Override
                public void ok() {
                    mTextView1.setText("ok");
                }
    
                @Override
                public void error(String errMsg) {
                    mTextView1.setText("error: " + errMsg);
                }
            });
            xxx.execute();
        }
    }
    
    
    

    javaCallbackDemo1_CallbackInterface.java

    /**
     * 本例用于演示如何定义回调接口
     *
     * 实现支持回调的类参见:CallbackDemo1_CallbackClass.java
     * 使用支持回调的类参见:CallbackDemo1.java
     */
    
    package com.webabcd.androiddemo.java;
    
    public interface CallbackDemo1_CallbackInterface {
        void ok();
        void error(String errMsg);
    }
    

    javaCallbackDemo1_CallbackClass.java

    /**
     * 本例用于演示如何实现支持回调的类
     *
     * 定义回调接口参见:CallbackDemo1_CallbackInterface.java
     * 使用支持回调的类参见:CallbackDemo1.java
     */
    
    package com.webabcd.androiddemo.java;
    
    import java.util.Date;
    
    public class CallbackDemo1_CallbackClass {
    
        private CallbackDemo1_CallbackInterface _callback;
    
        public CallbackDemo1_CallbackClass(CallbackDemo1_CallbackInterface callBack){
            this._callback = callBack;
        }
    
        public void execute() {
            if (_callback != null) {
                if (new Date().getTime() % 2 == 0) {
                    _callback.ok();
                } else {
                    _callback.error("错误信息");
                }
            }
        }
    }
    
    

    javaCallbackDemo1_CallbackClass.java

    /**
     * 本例用于演示如何实现支持回调的类
     *
     * 定义回调接口参见:CallbackDemo1_CallbackInterface.java
     * 使用支持回调的类参见:CallbackDemo1.java
     */
    
    package com.webabcd.androiddemo.java;
    
    import java.util.Date;
    
    public class CallbackDemo1_CallbackClass {
    
        private CallbackDemo1_CallbackInterface _callback;
    
        public CallbackDemo1_CallbackClass(CallbackDemo1_CallbackInterface callBack){
            this._callback = callBack;
        }
    
        public void execute() {
            if (_callback != null) {
                if (new Date().getTime() % 2 == 0) {
                    _callback.ok();
                } else {
                    _callback.error("错误信息");
                }
            }
        }
    }
    
    

    /layout/activity_java_callbackdemo1.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    
    </LinearLayout>
    

    项目地址 https://github.com/webabcd/AndroidDemo
    作者 webabcd

  • 相关阅读:
    平凡的世界02
    Windows10 下 SoapUI 下载安装详细教程
    免费使用4个小时Play with K8s 来部署你的第一个springBoot宠物医院的应用
    [BAT]批量提交到Git
    python,lua,typescript,go的新手培训服务,程序员面试指导。
    LLVM从小白到放弃(三) LLVM IR概述与常用指令
    LLVM从小白到放弃(二) LLVM Pass
    修车,换前保险杠、换油箱橡胶管
    python连接kafka生产者,消费者脚本
    redis Hyperloglog(基数)
  • 原文地址:https://www.cnblogs.com/webabcd/p/android_java_CallbackDemo1.html
Copyright © 2020-2023  润新知