Como restringir minha entrada EditText à entrada numérica (possivelmente decimal e assinada)?
Eu liAndroid: Limitando EditText para números eComo mostro o teclado numérico em um EditText no android?. Infelizmente, nenhum deles parece atender às minhas necessidades.
Quero restringir minha entrada EditText apenas a números. No entanto, também quero permitir entrada assinada e / ou decimal.
Aqui está meu código atual (eu preciso fazer isso programaticamente):
EditText edit = new EditText(this);
edit.setHorizontallyScrolling(true);
edit.setInputType(InputType.TYPE_CLASS_NUMBER);
Com isso, meu EditText restringe alegremente toda a entrada a dígitos numéricos. Infelizmente, ele não permite mais nada, como o ponto decimal.
Se eu mudar essa linha paraedit.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL)
, o EditText aceita todas as entradas (o que não é o que eu quero ...
Tentei combinar bandeiras (em desespero para ver se funcionaria):
edit.setInputType(InputType.TYPE_CLASS_NUMBER);
edit.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL)
edit.setInputType(InputType.TYPE_NUMBER_FLAG_SIGNED)
Isso também não funcionou (o EditText aceitou todas as entradas como de costume
Então, como faço isso?