Skip to content Skip to sidebar Skip to footer

How To Set Input Type To Be Numberdecimal But Also Allow A "-"

I have set input type to be numberdecimal but also want to populate the editText with a '-' programmatically. I can add the text but then I am unable to edit the text as it doesn't

Solution 1:

I was able to achieve this behavior by setting digits xml attribute as follows:

<EditText...android:inputType="number"android:digits="0123456789-"/>

Setting it up programatically (Set EditText Digits Programmatically):

weightInput.setKeyListener(DigitsKeyListener.getInstance("0123456789-"));

Solution 2:

I managed to do that with:

android:inputType="number|numberSigned"android:digits="0123456789-"

Solution 3:

I found a very easy solution:

editText.setKeyListener(newDigitsKeyListener(true, true));    

The first true is for whether is signed input, the second true is for decimal. Hope that helps

Solution 4:

You will have to write your own KeyListener. You could start by downloading the source of the NumberKeyListener and take it from there.

Martin

Solution 5:

I am having one solution, which may helps you:

Suppose, You want to enter 2-3 numbers with "-" sign for e.g. 203-304-405.23-232.45,

then Allow user to enter this in EditText without setting any attributes. and then you can Separate each numbers with "split()" function , but be sure that there should be any separator sign in between the tokens.

then

String tokens[];
 strInput = edittext1.getText.toString();
 tokens = strInput.split(",");

then you can work with each tokens separately as tokens[0], tokens[1], for example:

num1 = tokens[0];num2 = tokens[1];

Hope this helps you.

Enjoy!!

Post a Comment for "How To Set Input Type To Be Numberdecimal But Also Allow A "-""