Ответ 1
Try
etAdd.setFocusableInTouchMode(true);
etAdd.setFocusable(true);
вместо
etAdd.setFocusable(true);
Очень странная ситуация, у меня есть этот код, который должен сделать EditText зарегистрированным uneditable, если SpnSelected.equals( "Сервис" ) и снова редактируется, если что-то еще.
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);
}
Он делает его uneditable ok, но он не дает возможности редактировать обратно с помощью etAdd.setFocusable(true);
Любые идеи, что с этим делать? Благодарю!:)
Try
etAdd.setFocusableInTouchMode(true);
etAdd.setFocusable(true);
вместо
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 отключен.
Я надеюсь, что это поможет кому-то:)
Я использую ниже фокус кода и нажмите "Удалить" и добавьте:
Remove:
secondFirstHalfEditText.setClickable(false);
secondFirstHalfEditText.setFocusable(false);
Добавить:
editText.setClickable(true);
editText.setFocusableInTouchMode(true);
editText.setFocusable(true);
Должен использовать это для активного Edittext →
editText.setFocusableInTouchMode(true);
Его работа для меня безупречно
Вы должны установить EditText в
etAdd.setEnabled(false);