我在初始化时启用edittext框时遇到问题。我已经禁用了我的编辑框,如下所示:text_edit.setFocusable(false);
稍后,我想通过单击复选框启用文本框。 文本框未启用,这是我的点击事件代码:
if(((CheckBox) v).isChecked()) {
Toast.makeText(User_name_search .this, "Selected", Toast.LENGTH_SHORT).show();
text_edit.setFocusable(false);
//checkbox.setChecked(false);
} else {
Toast.makeText(User_name_search .this, "Not Selected", Toast.LENGTH_SHORT).show();
text_edit.setFocusable(true);
}
我做错了什么?
答案 0 :(得分:1)
由于您要启用/禁用EditText
,因此您应该考虑使用此处所述的setEnabled(boolean x)
方法:http://developer.android.com/reference/android/widget/TextView.html#setEnabled%28boolean%29(EditText
extends TextView
)
希望这有帮助!
答案 1 :(得分:0)
您应该使用setOnClickListener
或setOnCheckedChangeListener
作为复选框,当有人点击时,您应该更改setfocusable
。
答案 2 :(得分:0)
您必须执行以下操作
Checkbox c1;
EditText e1;
click on check box c1 if
if(c1.isChecked==true)
{
e1.setEnabled(true);
}
else
{
e1.setEnabled(false);
}
答案 3 :(得分:0)
在复选框的单击侦听器中,将edittext的enabled属性设置为true。因此,如果checkAbove是您的复选框,textAbove是您的editText,则代码将如下所示..
checkAbove.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CheckBox temp = (CheckBox)view;
if (temp.isChecked()){
textAbove.setEnabled(true);
}else {
textAbove.setEnabled(false);
}
}
});
同时加上
android:editable = "false"
表示xml中的textAbove视图。