问题
I need help to only allow one decimal point to be entered into a EditText view. An example: I don't want 123.45.2 or 123..452 to be allowed. Once one decimal point is entered, no more are allowed.
回答1:
Play around with this however you like it.
myEditText.setKeyListener(DigitsKeyListener.getInstance(true,true));
Returns a DigitsKeyListener that accepts the digits 0 through 9, plus the minus sign (only at the beginning) and/or decimal point (only one per field) if specified.
回答2:
You can set it up in the xml layout:
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
/>
回答3:
There's flags you can set so you don't have to do what rochdev (no offense of course) posted.
mEditText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
This will only allow numbers to be entered and only one decimal point.
回答4:
Set it in xml layout
android:inputType="number|numberDecimal"
来源:https://stackoverflow.com/questions/6083960/android-limit-only-one-decimal-point-enter-into-a-edittext