Я пробовал следующее:
codeEditText.setInputType(InputType.TYPE_NULL);
this.codeEditText.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
pickCode();
}
}
});
this.codeEditText.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
pickCode();
}
});
но проблема заключалась в том, что если текст редактирования является первым в форме, тогда он получает фокус, и сразу вызывается код pickCode (), который запускает новое действие. Поэтому я изменил код следующим образом, и он, кажется, работает довольно хорошо (за исключением того, что я не могу установить фокус на редактирование текста, но мне это не нужно):
itemCodeEditText.setFocusable(false);
this.itemCodeEditText.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
pickItem();
}
});
Наилучшие пожелания,
Комментарии приветствуются,
Джон Гош