zoukankan      html  css  js  c++  java
  • 回调机制的实现。

    简单回调机制的建立主要分为下面几步:

    1.写一个回调类,写出需要的构造方法

    2.定义一个接口,里面写一个抽象方法,方法体(String data)为所需要回调的数据

    3.定义一个设置接口的方法,里面得到接口对象

    4.定义一个发送数据的方法,当调用这方法时,数据自动发送及接受

    如下:

    复制代码
    package com.lixu.huidiao;
    
    public class SendData {
    
        private OnSendDataListener mOnSendDataListener = null;
    
        //1.写出所需要的构造方法
        public SendData() {
    
        }
    
        //2.定义一个接口,里面写一个抽象方法,方法体(String data)为所需要回调得到的数据
        public interface OnSendDataListener {
            public void onAcceptData(String data);
        }
    
        //3.定义一个设置接口的方法,里面得到接口对象
        public void setOnSendDataListener(OnSendDataListener mOnSendDataListener) {
            this.mOnSendDataListener = mOnSendDataListener;
        }
    
        //4.定义一个发送数据的方法,当调用这方法时,数据自动发送及接受
        public void send(String data) {
            mOnSendDataListener.onAcceptData(data);
        }
    
    }
    复制代码

    使用的时候,只需new出这个方法的对象,然后使用setOnSendDataListener()的方法得到监听,在调用send()方法即可触发监听得到回调的数据

    如下代码:

    复制代码
    package com.lixu.huidiao;
    
    import com.lixu.huidiao.SendData.OnSendDataListener;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.util.Log;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            SendData mSendData = new SendData();
            mSendData.setOnSendDataListener(new OnSendDataListener() {
    
                @Override
                public void onAcceptData(String data) {
                    Log.d("通过回调收到的数据", data);
    
                }
            });
    
            mSendData.send("通过回调类对象调用send方法发送的数据");
    
        }
    }
    复制代码

    结果如下:

  • 相关阅读:
    CareerCup Questions List 职业杯题目列表
    [CareerCup] Guards in a museum 博物馆的警卫
    [LeetCode] 7. Reverse Integer 翻转整数
    Python笔记11------一个K-means聚类的小例子
    python笔记10-----便捷网络数据NLTK语料库
    Python笔记9-----不等长列表转化成DataFrame
    Python笔记8----DataFrame(二维)
    Python笔记7----Pandas中变长字典Series
    Python笔记6----数组
    Python笔记5----集合set
  • 原文地址:https://www.cnblogs.com/labixiaoxin/p/5072494.html
Copyright © 2011-2022 走看看