安卓回调机制-一个非常简单的demo

看log就明白了,简单易懂,耶!
比如,妈妈问你几点睡呀?你可能玩着游戏不理妈妈,过会反应过来要挨揍了,赶紧随意报了个时间“十二点”,边忙家务边等待你回复的妈妈听到你报的时间气冲冲拿着擀面杖冲过来了。。。。。。就俩类,可以复制运行下更直观
SendMess:-- 儿子
1、新建一个接口Aim,在其中声明一个方法toSleep(String time)代表它可以做什么,催睡觉用的。
2、声明一个方法,传入接口对象
3、写构造方法,判断当传入接口实例化对象存在的时候才执行信息
WaitActivity:--妈妈
1、实现接口,实例化接口对象,处理接口回调信息。

儿子:

public class SendMess {
    Aim aim;


    interface Aim{
        void toSleep(String time);
    }

    public void setAim(Aim aim){
        this.aim = aim;
    }

    public SendMess(){
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    Thread.sleep(5000);
                    if(null!=aim){
                        Log.e("you", "十二点");
                        aim.toSleep("十二点");

                    }
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }

}

妈妈:

public class WaitActivity extends AppCompatActivity implements SendMess.Aim {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Log.e("mother:", "what is the time to sleep? tell me  baby");

        SendMess sendMess = new SendMess();
        sendMess.setAim(this);
    }

    @Override
    public void toSleep(String time) {
        switch (time) {
            case "十二点":
                Log.e("mother", "看你就是欠揍!");
                break;
            default:
                Log.e("ysj", "good baby");
                break;
        }
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值