Wie kann ich den Bruchpunkt nach zwei ganzen Zahlen in Android setzen und das Limit auf 55 Ziffern setzen? Nachdem ich viel gesucht habe, poste ich hier mein Problem. Ich habe eine Edittext
mit einer android:inputType="number"
. Ich bin in der Lage, die Höchstgrenze für die EditText
auf 55 Ziffern zu setzen. Ich will Benutzer kann Bruchzahl eingeben auch zwischen 0 bis 55 Ziffern wie 24.22 oder 52.88.Wie erzwinge ich den Dezimalpunkt nach zwei Ziffern im Editiertext?
Kann mir bitte bitte sagen, wie kann ich das erreichen? Hier ist mein Code.
public class FuelCostCalculator extends DialogFragment {
EditText etLocation, etKilo, etLiter, etFuelCost;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(DialogFragment.STYLE_NORMAL, R.style.fullscreen_dialog);
}
private void init(View view) {
//this is my editText
etLiter = view.findViewById(R.id.etLiter);
InputFilterMinMax filter = new InputFilterMinMax("0", "5499") {};
etLiter.setFilters(new InputFilter[]{filter});
}
}
Meine Filterklasse ist:
public class InputFilterMinMax implements InputFilter {
private int min, max;
public InputFilterMinMax(int min, int max) {
this.min = min;
this.max = max;
}
public InputFilterMinMax(String min, String max) {
this.min = Integer.parseInt(min);
this.max = Integer.parseInt(max);
}
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
try {
int input = Integer.parseInt(dest.toString() + source.toString());
if (isInRange(min, max, input))
return null;
} catch (NumberFormatException nfe) { }
return "";
}
private boolean isInRange(int a, int b, int c) {
return b > a ? c >= a && c <= b : c >= b && c <= a;
}
}
Jede Art von Hilfe ist willkommen:
können Sie Text Watcher auf Text bearbeiten. – Lucky
TextWatcher löst mein Problem nicht – Champandorid
was Sie erreichen möchten? –