Italian EditText per date, numeri, solo testo, ecc.

Sabotto

Active Member
Licensed User
Vorrei avere un campo di input (tipo EditText) che accetti solo particolari dati. Ad esempio se volessi accettare solo date.
In VB avevo delle classi che mi gestivano il tutto con i tipici eventi Keypress, KeyDown, ecc e quindi ad esempio limitavo i caratteri immessi (solo numeri, sempre due barre, ili primi due numeri da 1 a 31, i secondi due da 1 a 12, l'anno sempre con 4 cifre, rispetto del formato "dd/mm/yyyy", insomma ci siamo capiti...
In B4A, che voi sappiate, esiste qualcosa già pronto?
 

Sagenut

Expert
Licensed User
Longtime User
Prova così
B4X:
Edittext.InputType = Edittext.INPUT_TYPE_DECIMAL_NUMBERS
Poi ci saranno altre opzioni ma forse non tutte quelle che ti servono.
 

Sagenut

Expert
Licensed User
Longtime User

Sabotto

Active Member
Licensed User
Prova così
B4X:
Edittext.InputType = Edittext.INPUT_TYPE_DECIMAL_NUMBERS
Poi ci saranno altre opzioni ma forse non tutte quelle che ti servono.
Sarebbe la proprietà "Input Type" che vedo nel designer, giusto? E' abbastanza limitata però.

Puoi anche limitare i caratteri utilizzabili con la libreria IME, vedi qui
https://www.b4x.com/android/forum/t...ter-how-allow-a-line-break.126026/post-787509
Poi magari devi fare un controllo stringa mentre si scrive per verificare il formato.
Uhm... si, ma dovrei lavorarci. pensavo di trovare già fatto... Comunque buono a sapersi.
 

Sagenut

Expert
Licensed User
Longtime User
Potrebbe anche esserci qualche soluzione migliore.
Ma non mi viene o non la conosco. :p
Ci ho provato.
 

LucaMs

Expert
Licensed User
Longtime User
C'è anche l'evento EditText1_TextChanged (Old As String, New As String), che scatta ogni volta che l'utente inserisce o cancella un carattere.

Mi pare ci sia anche una libreria per l'input "formattato"...
 

giannimaione

Well-Known Member
Licensed User
Longtime User
dovresti creare un componente custom;
gestisci tutto all'interno del componente e puoi utilizzarlo tutte le volte che vuoi
 
Top