안드로이드에 두 정수의 소수점을 설정하고 한도를 55 자리로만 설정할 수있는 방법은 무엇입니까? 많이 검색 한 후 여기에 내 문제를 게시하고 있습니다. 나는 Edittext
이고 android:inputType="number"
입니다. EditText
의 최대 한도를 55 자리로 설정할 수 있습니다. 나는 사용자가 0에서 55 사이의 숫자 인 을 24.22 또는 52.88 자릿수로 입력 할 수 있기를 원합니다.edittext에서 두 자리 뒤에 소수점을 넣는 방법은 무엇입니까?
일부 사람들은 어떻게 이것을 할 수 있습니까? 내 코드는 다음과 같습니다.
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});
}
}
내 필터 클래스는 다음과 같습니다 도움
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;
}
}
모든 종류의 감사 :
텍스트 편집시 텍스트 감시자를 사용할 수 있습니다. – Lucky
TextWatcher가 내 문제를 해결하지 못했습니다. – Champandorid
달성하고자하는 것은 무엇입니까? –