Commit 23083dd245d4ffc2ad0fbdd91f0e62e240229494

Authored by JLo'w
1 parent aebe700b

Filtre regex pour limiter le nombre de décimale

PremiereActivite/app/src/main/java/com/example/app_10p5/DecimalDigitsInputFilter.java 0 → 100644
... ... @@ -0,0 +1,29 @@
  1 +package com.example.app_10p5;
  2 +
  3 +import android.text.InputFilter;
  4 +import android.text.Spanned;
  5 +
  6 +import java.util.regex.Matcher;
  7 +import java.util.regex.Pattern;
  8 +
  9 +/**
  10 + * Created by beaus on 02/05/2016.
  11 + */
  12 +public class DecimalDigitsInputFilter implements InputFilter {
  13 +
  14 + Pattern mPattern;
  15 +
  16 + public DecimalDigitsInputFilter(int digitsBeforeZero,int digitsAfterZero) {
  17 + mPattern= Pattern.compile("[0-9]{0," + (digitsBeforeZero-1) + "}+((\\.[0-9]{0," + (digitsAfterZero-1) + "})?)||(\\.)?");
  18 + }
  19 +
  20 + @Override
  21 + public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
  22 +
  23 + Matcher matcher=mPattern.matcher(dest);
  24 + if(!matcher.matches())
  25 + return "";
  26 + return null;
  27 + }
  28 +
  29 +}
... ...
PremiereActivite/app/src/main/java/com/example/app_10p5/TabFragment2.java
... ... @@ -2,9 +2,11 @@ package com.example.app_10p5;
2 2  
3 3 import android.os.Bundle;
4 4 import android.support.v4.app.Fragment;
  5 +import android.text.InputFilter;
5 6 import android.view.LayoutInflater;
6 7 import android.view.View;
7 8 import android.view.ViewGroup;
  9 +import android.widget.EditText;
8 10  
9 11 /**
10 12 * Created by beaus on 24/04/2016.
... ... @@ -14,6 +16,11 @@ public class TabFragment2 extends Fragment {
14 16  
15 17 @Override
16 18 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
17   - return inflater.inflate(R.layout.tab_fragment_2, container, false);
  19 + View v = inflater.inflate(R.layout.tab_fragment_2, container, false);;
  20 +
  21 + EditText et = (EditText) v.findViewById(R.id.commande_prix);
  22 + et.setFilters(new InputFilter[]{new DecimalDigitsInputFilter(3, 2)});
  23 +
  24 + return v;
18 25 }
19 26 }
... ...