Android监听——变量的变化

来源:互联网 发布:软件监理公司 编辑:程序博客网 时间:2024/06/05 09:47

这是对上一篇的补充:

如何合理的监听程序中一个变量的变化。

有时候,我们在程序中会设定一个变量作为标志,而程序需要监听这个标志,当这个标志发生改变时,程序做出相应的处理。

主要的代码解释如下:

1、将变量放置在一个类中,在该类中对变量有get 、set方法,并在set方法中做回调。

2、在这里,我们还提供一个方法供程序传入监听接口。

3、将类的引用作为单例,便于后续设置监听位置。

package com.example.broadcastwithobserver;public class Var {private BroadListener broadListener;private  int var;        private static Var varInstance;private Var(){}public static Var getInstance(){if(null==varInstance){varInstance=new Var();}return varInstance;}public void setBroadListener(BroadListener broadListener){this.broadListener=broadListener;}/** * @return the var */public int getVar() {return var;}/** * @param var the var to set */public void setVar(int var) {this.var = var;if(null!=broadListener){if(var==1){ broadListener.onSuccess();}else {broadListener.onFail("收到失败回复");}}}}

使用监听方式如下:

Var.getInstance().setBroadListener(new BroadListener() {@Overridepublic void onSuccess() {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "监听器接收到广播了!!!", 0).show();}@Overridepublic void onFail(String msg) {// TODO Auto-generated method stubToast.makeText(MainActivity.this,msg, 0).show();}});

当我们做如下操作时,监听就起效,做出回调了:

 Var.getInstance().setVar(0);


1 0
原创粉丝点击