Switch to next field due to accuracy

This commit is contained in:
PavelRatushny 2017-11-02 16:59:21 +02:00
parent cddb6ee3f8
commit f12743827c

View file

@ -355,13 +355,10 @@ public class CoordinateInputDialogFragment extends DialogFragment implements Osm
private void registerInputTextViews() {
TextWatcher textWatcher = new TextWatcher() {
int len = 0;
String strBeforeChanging = "";
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
len = charSequence.length();
strBeforeChanging = charSequence.toString();
}
@Override
@ -371,10 +368,19 @@ public class CoordinateInputDialogFragment extends DialogFragment implements Osm
@Override
public void afterTextChanged(Editable editable) {
View focusedView = getDialog().getCurrentFocus();
if (focusedView != null && focusedView instanceof EditText) {
EditText focusedEditText = (EditText) focusedView;
String str = focusedEditText.getText().toString();
if (goToNextField) {
View focusedView = getDialog().getCurrentFocus();
if (focusedView != null && focusedView instanceof EditText) {
EditText focusedEditText = (EditText) focusedView;
String str = focusedEditText.getText().toString();
int pointIndex = str.indexOf(".");
if (pointIndex != -1) {
int currentAccuracy = str.substring(pointIndex + 1).length();
if (currentAccuracy >= accuracy) {
switchToNextInput(focusedEditText.getId());
}
}
}
}
}
};