Java EditText.setFocusable(false);can';不能设置为true/
一个非常奇怪的情况,我有一段代码,如果SpnSelected.equals(“服务”),应该使EditText字段不可编辑,如果它是其他内容,则再次可编辑Java EditText.setFocusable(false);can';不能设置为true/,java,android,Java,Android,一个非常奇怪的情况,我有一段代码,如果SpnSelected.equals(“服务”),应该使EditText字段不可编辑,如果它是其他内容,则再次可编辑 final EditText etAdd = (EditText)dialogAddTextView.findViewById(R.id.etSymb); if ( SpnSelected.equals("Service") ) { etAdd.setFocusable(false); Tex
final EditText etAdd = (EditText)dialogAddTextView.findViewById(R.id.etSymb);
if ( SpnSelected.equals("Service") )
{
etAdd.setFocusable(false);
TextView tvInfo = (TextView)dialogAddTextView.findViewById(R.id.tvAddTextInfo);
}
else
{
etAdd.setFocusable(true);
TextView tvInfo = (TextView)dialogAddTextView.findViewById(R.id.tvAddTextInfo);
}
它确实使其不可编辑ok,但它不能使用etAdd.setFocusable(true)返回编辑功能
有什么办法吗?谢谢!:) 您必须将编辑文本设置为
etAdd.setEnabled(false);
试一试
而不仅仅是
etAdd.setFocusable(true);
这个解决方案对我有效:
EditText test3 = (EditText) findViewById(R.id.edittext);
CheckBox check1= (CheckBox) findViewById(R.id.checkBox1);
test3.setClickable(false);
test3.setEnabled(false);
test3.setFocusable(false);
check1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(check1.isChecked()){
test3.setText("");
test3.setClickable(false);
test3.setEnabled(false);
test3.setFocusable(false);
} else {
test3.setClickable(true);
test3.setEnabled(true);
test3.setFocusable(true);
test3.setFocusableInTouchMode(true);
}
}
});
选中复选框后,edittext将被禁用
我希望它能帮助某些人:)我使用下面的代码焦点,然后单击删除和添加: 删除:
secondfirsthalvedittext.setClickable(false);
secondfirsthalvedittext.setFocusable(false)代码>
加:
必须将此用于活动编辑文本>>
editText.setFocusableInTouchMode(true);
它对我很有效设置启用(真/假)
是否更合适?是否有效。只是它使文本编辑有点灰色,好像它禁用了。因此,setFocusable更可取,只是它不起作用。:)您为我节省了时间。根据.setFocusableInTouchMode()
调用的文档,setFocusableInTouchMode(true)
使调用.setFocusable(true)
变得不必要。即只需调用etAdd.setFocusableInTouchMode(true)你是一个造币厂(一个救生员:))是的。它成功了。但是当单独调用.setFocusableInTouchMode(true)时,它工作得非常好。因此,setFocusable(true)是多余的。请更新答案
editText.setClickable(true);
editText.setFocusableInTouchMode(true);
editText.setFocusable(true);
editText.setFocusableInTouchMode(true);