我以编程方式创建按钮,具体取决于某些因素,它们将是3个或4个按钮。
在某些情况下,我想创建所有按钮,但全部禁用它们。目前,我遇到的问题是我无法从此循环外部访问按钮
if (4val != null && 4val.length() > 0){
Button b4 = new Button(this);
b4.setText(answer4val);
b4.setTextSize(18);
layout.addView(b4, layoutParams);
b4.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
reason(4);
}
});
}
我想禁用/启用这些if语句之外的所有按钮。这可能吗?
最佳答案
在更广泛的scopre中声明它们(也许作为班级成员):
// in the class scope
Button b4 = null;
// in the method scope
if (4val != null && 4val.length() > 0){
b4 = new Button(this);
b4.setText(answer4val);
b4.setTextSize(18);
layout.addView(b4, layoutParams);
b4.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
reason(4);
}
});
}