jaki jest najlepszy sposób na zamaskowanie EditText na Androidzie?
Chciałbym, aby mój EditText zachowywał się tak jak ten numer dziesiętny wejściowy here. Czy istnieje prosty sposób na zrobienie tego?jaki jest najlepszy sposób zastosowania maski do EditText na Androida?
7
A
Odpowiedz
2
Trzeba programowo ustawić InputFilter na swojej EditText
przez setFilters.
Z dokumentacji:
InputFilters może być dołączony do Editables ograniczyć zmiany, które mogą być wprowadzone do nich.
Możesz nawet zmienić dane wprowadzane przez użytkowników, na przykład przez dodanie kropki dziesiętnej, która jest pożądana, jeśli dobrze Cię zrozumiem.
-1
myślę, że można użyć:
android:numeric="decimal"
na EditText
0
Zbudowałem maskę dziesiętną dla tekstu edycji, który automatycznie zmieni tekst edycji na żądaną liczbę miejsc dziesiętnych. W zasadzie, słuchasz zmian tekstu i utraty ostrości.
private void formatNumber() {
sNumberToFormat = etNumberToFormat.getText().toString();
sDecimalMask = etDecimalMask.getText().toString();
boolean periodMask = false;
String delimiter = getDelimiter();
String[] decimalMask = getsDecimalMask();
if (decimalMask.length == 1) {
return;
} else {
if (delimiter.equalsIgnoreCase(",")) {
//decimal format only currently works with dot delimiters.
sDecimalMask = sDecimalMask.replace(",", ".");
}
DecimalFormat df = new DecimalFormat(sDecimalMask);
df.setRoundingMode(RoundingMode.UP);
sNumberToFormat = df.format(Float.valueOf(sNumberToFormat.replace(",", ".")));
//if (maxNumber > Float.valueOf(sNumberToFormat)) {
if (delimiter.equalsIgnoreCase(",")) {
sNumberToFormat = sNumberToFormat.replace(".", ",");
}
etNumberToFormat.setText(sNumberToFormat);
}
}
Kompletne demo to here.
Powiązane problemy
- 1. Jaki jest najlepszy sposób na seed srand()?
- 2. Jaki jest najlepszy sposób na wdrożenie "timera"?
- 3. Jaki jest najlepszy sposób na skopiowanie listy?
- 4. Jaki jest najlepszy sposób na naukę Erlanga?
- 5. Jaki jest najlepszy sposób na naukę CUDA?
- 6. Jaki jest najlepszy sposób na podstawowe rozpoznawanie liczb?
- 7. Jaki jest najlepszy sposób na równoczesny test kodu jednostki Erlang?
- 8. Jaki jest najlepszy sposób na zainicjowanie daty JavaScript do północy?
- 9. Jaki jest najlepszy sposób na wprowadzenie logowania do usługi sieciowej?
- 10. Jaki jest najlepszy sposób na wstrzyknięcie repozytoriów do kontrolera ASP.NET
- 11. Jaki jest najlepszy sposób zamknięcia gałęzi Mercurial?
- 12. Jaki jest najlepszy sposób obsługi wielu działań?
- 13. Jaki jest najlepszy sposób profilowania wykonywania javascript?
- 14. Jaki jest najlepszy sposób zbiorczego aktualizowania projektów Jenkins?
- 15. Jaki jest najlepszy sposób uczenia się WCF?
- 16. Jaki jest najlepszy sposób przetestowania aplikacji szyny?
- 17. Jaki jest najlepszy sposób wyczyszczenia tablicy łańcuchów?
- 18. Jaki jest najlepszy sposób tworzenia wewnętrznych produktów?
- 19. Jaki jest najlepszy sposób tworzenia wdrożeń ClickOnce
- 20. Jaki jest najlepszy sposób przetestowania narzędzia RedirectToAction?
- 21. Jaki jest najlepszy sposób wyszukiwania GitHub?
- 22. Jaki jest najlepszy sposób implementacji protokołów?
- 23. Jaki jest najlepszy sposób tworzenia wyszukiwania whois?
- 24. Jaki jest najlepszy sposób utworzenia pola wyboru UIButton?
- 25. Jaki jest najlepszy sposób testowania usług WCF?
- 26. Jaki jest najlepszy sposób odczytu GetResponseStream()?
- 27. Jaki jest najlepszy sposób przełączania zmiennej binarnej?
- 28. Jaki jest najlepszy sposób generowania mapy witryny?
- 29. Jaki jest najlepszy sposób rejestrowania aktywności użytkowników?
- 30. Jaki jest najlepszy sposób zwiększania wyliczenia?
To pozwoli uniknąć tylko znaków niedozwolonych w liczbach dziesiętnych. W rzeczywistości nie jest maską – marcosbeirigo