Я спробував таке:
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();
}
});
З повагою,
Коментарі вітаємо,
Джон Гош