我有一个问题。我希望我的 edittext 最初被禁用。只有当我选中复选框时才会启用它。发生的事情是,当我启动应用程序时,复选框没有选中,但我可以编辑编辑文本。要禁用edittext,我必须检查然后再次取消选中文本框。你能帮助我吗?
这是我的代码:
check1.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {
txtbox1.setEnabled(true);
} else {
txtbox1.setEnabled(false);
}
}
});
当为 2 个不同的编辑文本使用 2 个复选框时。按第二个复选框时,我的应用程序崩溃。继承人的代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.order);
txtbox1= (EditText) findViewById(R.id.editText1);
button1 = (Button) findViewById(R.id.button1);
tv = (TextView) findViewById(R.id.editText5);
txtbox2= (EditText) findViewById(R.id.editText2);
check1 = (CheckBox)findViewById(R.id.checkcheck);
check2 = (CheckBox)findViewById(R.id.checkcheckcheck);
button1.setOnClickListener(new clicker());
check1.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {
txtbox1.setEnabled(true);
txtbox1.setFocusable(true);
} else {
txtbox1.setEnabled(false);
txtbox1.setFocusable(false);
}
}
});
check2.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {
txtbox2.setEnabled(true);
txtbox2.setFocusable(true);
} else {
txtbox2.setEnabled(false);
txtbox2.setFocusable(false);
}
}
});
}
日志猫: