다음은 편집 텍스트를 입력하는 동안 사용자를 제한하는 솔루션입니다.
InputFilter filter = new InputFilter() {
final int maxDigitsBeforeDecimalPoint=2;
final int maxDigitsAfterDecimalPoint=2;
@Override
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
StringBuilder builder = new StringBuilder(dest);
builder.replace(dstart, dend, source
.subSequence(start, end).toString());
if (!builder.toString().matches(
"(([1-9]{1})([0-9]{0,"+(maxDigitsBeforeDecimalPoint-1)+"})?)?(\\.[0-9]{0,"+maxDigitsAfterDecimalPoint+"})?"
)) {
if(source.length()==0)
return dest.subSequence(dstart, dend);
return "";
}
return null;
}
};
mEdittext.setFilters(new InputFilter[] { filter });
(예 : 12.22). 따라서 소수점 이하 2 자리 만 입력하면됩니다.
대신 어떤 종류의 2 슬롯 선택기를 구현할 생각이 있습니까? 그냥 생각. 아마도 더 친숙한 UX 일 것입니다. –