在 CheckBox 的 android onclick 中启用和禁用编辑文本
enable and disable the edittext in android onclick of CheckBox
'
//这是第一个复选框,点击它会启用 f1 & n1
check1=(CheckBox)findViewById(R.id.checkbox1);
//禁用editext1
f1=(EditText)findViewById(R.id.editTextf1);
f1.setEnabled(false);
f1.setInputType(InputType.TYPE_NULL);
f1.setFocusable(false);
n1=(EditText)findViewById(R.id.editTextn1);
n1.setEnabled(false);
n1.setInputType(InputType.TYPE_NULL);
n1.setFocusable(false);
//这是第二个复选框,点击它会启用 f2 & n2
check2=(CheckBox)findViewById(R.id.checkBox2);
//禁用editext2 f2
f2=(EditText)findViewById(R.id.editTextf2;
f2.setEnabled(false);
f2.setInputType(InputType.TYPE_NULL);
f2.setFocusable(false);
//禁用editext2 n2
n2=(EditText)findViewById(R.id.editTextn2);
n2.setEnabled(false);
n2.setInputType(InputType.TYPE_NULL);
n2.setFocusable(false);
btnfinal=(Button)findViewById(R.id.button_final_submission);
//启用editext1 f1 & n1
if (check1.isChecked()) {
f1.setEnabled(true);
f1.setInputType(InputType.TYPE_CLASS_TEXT);
f1.setFocusable(true);
n1.setEnabled(true);
n1.setInputType(InputType.TYPE_CLASS_TEXT);
nc1.setFocusable(true);
}
//启用editext1 f2 & n2
if (check2.isChecked()) {
f2.setEnabled(true);
f2.setInputType(InputType.TYPE_CLASS_TEXT);
f2.setFocusable(true);
n2.setEnabled(true);
n2.setInputType(InputType.TYPE_CLASS_TEXT);
n2.setFocusable(true);
}**
'
您需要在您的复选框上设置侦听器,然后必须捕获事件,例如何时选中复选框以及何时取消选中以使您的编辑文本按照您 want.Your 当前代码执行的方式工作,并且它不会处理任何未来事件,因为没有注册监听器来捕获事件。
最简单的开始方式是
CheckBox someCheckBox= (CheckBox) findViewById (R.id.someID);
someCheckBox.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (((CheckBox) v).isChecked()) {
//CODE TO MAKE THE EDITTEXT ENABLED
}
else
//CODE TO MAKE THE EDITTEXT DISABLED
}
});
不过也有其他方法可以执行此任务,但您可以立即开始。
'
//这是第一个复选框,点击它会启用 f1 & n1
check1=(CheckBox)findViewById(R.id.checkbox1);
//禁用editext1
f1=(EditText)findViewById(R.id.editTextf1);
f1.setEnabled(false);
f1.setInputType(InputType.TYPE_NULL);
f1.setFocusable(false);
n1=(EditText)findViewById(R.id.editTextn1);
n1.setEnabled(false);
n1.setInputType(InputType.TYPE_NULL);
n1.setFocusable(false);
//这是第二个复选框,点击它会启用 f2 & n2
check2=(CheckBox)findViewById(R.id.checkBox2);
//禁用editext2 f2
f2=(EditText)findViewById(R.id.editTextf2;
f2.setEnabled(false);
f2.setInputType(InputType.TYPE_NULL);
f2.setFocusable(false);
//禁用editext2 n2
n2=(EditText)findViewById(R.id.editTextn2);
n2.setEnabled(false);
n2.setInputType(InputType.TYPE_NULL);
n2.setFocusable(false);
btnfinal=(Button)findViewById(R.id.button_final_submission);
//启用editext1 f1 & n1
if (check1.isChecked()) {
f1.setEnabled(true);
f1.setInputType(InputType.TYPE_CLASS_TEXT);
f1.setFocusable(true);
n1.setEnabled(true);
n1.setInputType(InputType.TYPE_CLASS_TEXT);
nc1.setFocusable(true);
}
//启用editext1 f2 & n2
if (check2.isChecked()) {
f2.setEnabled(true);
f2.setInputType(InputType.TYPE_CLASS_TEXT);
f2.setFocusable(true);
n2.setEnabled(true);
n2.setInputType(InputType.TYPE_CLASS_TEXT);
n2.setFocusable(true);
}**
'
您需要在您的复选框上设置侦听器,然后必须捕获事件,例如何时选中复选框以及何时取消选中以使您的编辑文本按照您 want.Your 当前代码执行的方式工作,并且它不会处理任何未来事件,因为没有注册监听器来捕获事件。 最简单的开始方式是
CheckBox someCheckBox= (CheckBox) findViewById (R.id.someID);
someCheckBox.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (((CheckBox) v).isChecked()) {
//CODE TO MAKE THE EDITTEXT ENABLED
}
else
//CODE TO MAKE THE EDITTEXT DISABLED
}
});
不过也有其他方法可以执行此任务,但您可以立即开始。