【发布时间】:2016-01-12 06:53:30
【问题描述】:
在 android studio 中,我尝试使用 CheckBox 来控制数字 EditText 是启用还是禁用。单击复选框时的相关代码:
boolean checked = ((CheckBox) view).isChecked();
EditText yzEdit = (EditText) findViewById(R.id.yzEdit);
// Check which checkbox was clicked
switch(view.getId()) {
case R.id.yzCheck:
if (checked){
yzEdit.setBackgroundColor(Color.parseColor("#FFFFFF"));
yzEdit.setTextIsSelectable(true);
yzEdit.setFocusable(true);
yzEdit.setFocusableInTouchMode(true);
yzEdit.setCursorVisible(true);
yzEdit.setEnabled(true);
}
else{
yzEdit.setBackgroundColor(Color.parseColor("#CCCCCC"));
yzEdit.setTextIsSelectable(false);
yzEdit.setFocusable(false);
yzEdit.setFocusableInTouchMode(false);
yzEdit.setCursorVisible(false);
yzEdit.setEnabled(false);
}
break;
}
几乎一切正常。但是,当我选中该框,启用 yzEdit,然后单击 yzEdit 时,不会直接弹出用户数字键盘。因此,用户不能在新启用的 EditText 中输入任何数字(除非通过前一个 EditText 中的“Next”来关注它。
我在寻找哪个属性来控制这种行为?
【问题讨论】:
-
旁白:例如,您可以通过
setEnabled(checked);来缩短这段代码。 -
你能添加xml布局吗
标签: android checkbox android-edittext