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() { private void registerInputTextViews() {
TextWatcher textWatcher = new TextWatcher() { TextWatcher textWatcher = new TextWatcher() {
int len = 0;
String strBeforeChanging = "";
@Override @Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
len = charSequence.length();
strBeforeChanging = charSequence.toString();
} }
@Override @Override
@ -371,10 +368,19 @@ public class CoordinateInputDialogFragment extends DialogFragment implements Osm
@Override @Override
public void afterTextChanged(Editable editable) { public void afterTextChanged(Editable editable) {
View focusedView = getDialog().getCurrentFocus(); if (goToNextField) {
if (focusedView != null && focusedView instanceof EditText) { View focusedView = getDialog().getCurrentFocus();
EditText focusedEditText = (EditText) focusedView; if (focusedView != null && focusedView instanceof EditText) {
String str = focusedEditText.getText().toString(); 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());
}
}
}
} }
} }
}; };