Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 有没有办法创建条件侦听器_Android_Listener - Fatal编程技术网

Android 有没有办法创建条件侦听器

Android 有没有办法创建条件侦听器,android,listener,Android,Listener,有没有办法创建一个侦听器,在特定条件下激活事件(布尔) 我试着阅读有关使用接口创建自定义侦听器的内容,但我认为这不是我问题的答案 现在在我的应用程序中,我在任何地方都写了一个if语句,所以如果我能为它创建一个监听器,那就容易多了 set_A==B_Listener(????? {//listener takes place if a==b @Override public boolean event(View v, MotionEvent e) {

有没有办法创建一个侦听器,在特定条件下激活事件(布尔)

我试着阅读有关使用接口创建自定义侦听器的内容,但我认为这不是我问题的答案

现在在我的应用程序中,我在任何地方都写了一个if语句,所以如果我能为它创建一个监听器,那就容易多了

set_A==B_Listener(????? {//listener takes place if a==b
        @Override
        public boolean event(View v, MotionEvent e)
        {
             //do something
        }
    });

为语句创建一个类变量,这样就可以在活动的onCreate方法中将OnChangeListener附加到语句中

public class DummyActivity extends Activity {


interface OnStateChangeListener{

    public void onAttach(Activity activity);
    public void onStateChange(boolean state);
}

private boolean state;
private OnStateChangeListener listener;
private YourClass stateChangedCallback;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    listener = new OnStateChangeListener() {

        private Activity currentActivity;

        @Override
        public void onAttach(Activity activity) {
            currentActivity = activity;
        }

        @Override
        public void onStateChange(boolean state) {
            if (((DummyActivity) this.currentActivity).state != state) {
                stateChangedCallback.doSomething();
                ((DummyActivity) this.currentActivity).state = state;
            }
        }
    };
}



private void yourFunction() {
    boolean state = true;
    listener.onStateChange(state);

}

}

如果您只是检查侦听器中的条件,并仅在满足条件时执行所需的代码,会怎么样?这就是我现在正在做的,但我试图找到一种更有效的方法Nickolaus。您能否详细说明您的示例,以及每个部分的责任?更具体地说,我不明白在哪里指定我想要满足的条件