目前我已将Runnables
从我的Main课程传递到其他课程。例如,我将Runnable
从我的Main传递到另一个有Button
的类,然后将Button
' s onClickListener
设置为运行该Runnable
每当点击Button
时import 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是一个坏主意。
答案 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();
}
});
}
}