У меня есть Activity с фрагментом ... В этом фрагменте я использую двустороннюю передачу данных в EditText.Этот EditText привязан к свойству Double объекта, и из-за этого мне пришлось реализовать InverseMethod для преобразования String -> Double и Double -> String ...
В моем EditText я настроил android: selectAllOnFocus = "true" , и я заставляю его также использовать метод фрагмента onCreateView: edQtd.selectAll ()
Проблема в том, что когдапоявляется фрагмент, EditText имеет фокус, но текст не выделен, вместо этого курсор находится перед первым числом ...
Я хотел, чтобы он отображался со всем выделенным текстом ...
Попытка вместо использования обратного метода просто конкатенировать пустую строку, но результат был тот же ...
Из того, что я видел, отладка, сгенерированный класс привязки устанавливает текст послесоздание фрагментов (после того, как я вручную вызвал edQtd.selectAll () ), сняв выделение ...
Есть идеи, как это решить?
Редактировать: Пока я решил это, добавив текстИзменилListener на EditText, где я выделяю весь текст только при первом изменении текста:
edQuantidade.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
if(getSelectAllEdQtdText()) {
edQuantidade.selectAll();
setSelectAllEdQtdText(false);
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
});