适用于Android的Java - 如何为布尔变量创建事件侦听器

Lee*_*all 1 java android boolean event-listener

我正在使用Java创建一个Android应用程序.我有一个名为"运动"的布尔变量.我想创建一个在"运动"值发生变化时触发的事件.任何正确方向的指针都会很棒.谢谢

Sev*_*yev 5

我猜,变量并不孤单.它作为一个班级成员 - 对吧?因此,侦听器接口将嵌套在该类中,并且该类将具有侦听器的成员变量和setBooChangeListener方法.并且对变量的每次更改(我希望它不公开)你会调用监听器,如果有的话.这就是它.

class C
{
    private boolean mBoo; //that's our variable

    public interface BooChangeListener
    {
        public void OnBooChange(boolean Boo);
    }

    private BooChangeListener mOnChange = null;

    public void setOnBooChangeListener(BooChangeListener bcl)
    {
        mOnChange = bcl;
    }
}
Run Code Online (Sandbox Code Playgroud)

没有办法让系统(Java)监视变量并在侦听器发生更改时自动触发它.没有魔力.

  • 这个答案中唯一缺少的是为`mBoo`定义一个setter方法,该方法实际上在设置变量时通知监听器. (4认同)
  • 很简单的代码片段.它只是错过了设置者,如果设置了一个监听器就会收到通知 (3认同)