什么是最好的类型作为"在需要时运行此代码"方法?

时间:2017-08-13 20:01:05

标签: java android runnable

目前我已将Runnables从我的Main课程传递到其他课程。例如,我将Runnable从我的Main传递到另一个有Button的类,然后将Button' s onClickListener设置为运行该Runnable每当点击Buttonimport h2o h2o.init() trainFrame = h2o.import_file(path = "C:/train.csv") train, test = trainFrame.split_frame([0.8]) x = ["A", "B", "C"] y = "Target" m = h2o.estimators.H2ORandomForestEstimator(model_id="RF_defaults") m.train(x, y, train) 。这是我应该避免做的事情,即使没有,有什么更好的我可以通过,以便我可以使用我的Main中的变量运行一些代码而不必实际将我的Main类传递给其他类?

由于它不是很清楚,没有问题,我只是想知道每次我想在不同的类中运行一些代码时是否创建一个新的Runnable是一个坏主意。

1 个答案:

答案 0 :(得分:0)

定义界面,将其用作回调参数或包含按钮的类。

此接口也可以是View.OnClickListener的实现,取决于您真正需要做的事情。

interface OnSubClassButtonClickListener {
    void onClick();
}

OnSubClassButtonClickListener listener = new OnSubClassButtonClickListener () {
    void onClick() {
         // Your code here
    }
}

void init() {
    SubClass subClass1 = new SubClass(listener);
    SubClass subClass2 = new SubClass(listener);
}

class SubClass {

    private OnSubClassButtonClickListener listener;
    private Button button;

    SubClass(OnSubClassButtonClickListener listener) {
        button = //...
        button.setOnClickListener(new OnClickListener() {
             void onClick(View view) {
                  if (listener == null) {
                      return;
                  }
                  listener.onClick();
             }
        });

    }


}