一个非常奇怪的情况,我已经得到了这个代码,如果SpnSelected.equals(“Service”)可以使EditText无法编辑,并且可以再次编辑,如果是其他的话。
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);
}
它确实使它不可编辑,但它不能使用etAdd.setFocusable(true)进行编辑;
有什么想法可以做些什么吗?谢谢! :)
答案 0 :(得分:194)
尝试
etAdd.setFocusableInTouchMode(true);
etAdd.setFocusable(true);
而不仅仅是
etAdd.setFocusable(true);
答案 1 :(得分:2)
这个解决方案对我有用:
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。
我希望它会帮助某人:)
答案 2 :(得分:1)
我使用下面的代码焦点,然后点击删除并添加:
删除:
secondFirstHalfEditText.setClickable(false);
secondFirstHalfEditText.setFocusable(false);
添加:
editText.setClickable(true);
editText.setFocusableInTouchMode(true);
editText.setFocusable(true);
必须使用此对于活动的Edittext>>
editText.setFocusableInTouchMode(true);
它为我工作完美
答案 3 :(得分:-2)
您必须将EditText设置为
etAdd.setEnabled(false);