我把头发拉出来,确定我的错误是多么简单,我会感到尴尬。我创建了一个Combobox,它应该在每次选中时启动一个函数。但是,当您选择其他选择时,没有任何反应。
以下是代码:
et2.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean hasFocus) {
if (hasFocus) {
ic = et2.onCreateInputConnection(new EditorInfo());
keyboard.setInputConnection(ic);
} else {
for (String text : texts) {
if (et2.getText().toString().equals(et1.getText().toString()) ||
(et2.getText().toString()).equals(et3.getText().toString()) ||
(et2.getText().toString().equals(et4.getText().toString())) ||
(et2.getText().toString().equals(et5.getText().toString())) ||
et2.getText().toString().equals(et6.getText().toString()) ||
et2.getText().toString().equals(et7.getText().toString()) ||
et2.getText().toString().equals(et8.getText().toString()) ||
et2.getText().toString().equals(et9.getText().toString())) {
if (et2.getText().toString().equals("")) {
return;
}
et2.setError((CharSequence) text);
et2.setText("");
afficheerr1();
return;
}
}
}
}
});
现在功能" pick_acc"只打印出“#34;嗨!"用于测试目的。当我启动程序时会发生这种情况,但无论我做什么都不会。谢谢你的帮助!
答案 0 :(得分:0)
您将回调作为参考返回,而不是回调参考。替换:
acc_drop_box.bind('<<ComboboxSelected>>', pick_acc(acc_value))
使用:
acc_drop_box.bind('<<ComboboxSelected>>', lambda var=acc_value: pick_acc(var))