Android 如何在EditText中插入数字(双精度)
我使用这个代码Android 如何在EditText中插入数字(双精度),android,android-edittext,android-inputtype,Android,Android Edittext,Android Inputtype,我使用这个代码 <EditText android:id="@+id/price_for_liter_value_edit_text" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@android:color/transparent" android:textColor="@color/dn_14_da
<EditText
android:id="@+id/price_for_liter_value_edit_text"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/transparent"
android:textColor="@color/dn_14_date"
android:fontFamily="sans-serif-regular"
android:textSize="18sp"
android:text=""
android:padding="4dp"
android:inputType="number"/>
但我不能输入双倍数字(如1.3或20.5)。
我应该在inputFormat中使用什么类型?您可以使用
android:inputType="numberDecimal"
对于Edittext,有一个属性digits:-
android:digits="0123456789."
如果设置了此参数,则指定此TextView具有数字输入方法
而这些特定的角色就是它将要扮演的角色
接受[字符串]-来自developer.android.com的文本片段
这将只允许在文本视图中添加数字和“.”。您可以看到允许输入类型的所有变化。就你而言
android:inputType="numberDecimal"
或
使用
android:inputType=“numberDecimal”
@PG\u android这两种解决方案都会起作用。这需要作为解决方案,因为如果您将android:inputType=“numberDecimal”
或android:inputType=“number”
和android:digits=“0123456789”
不加“.”您将无法在编辑文本中插入点。像这样的需要是android:inputType=“numberDecimal”android:digits=“0123456789。”
android:inputType="numberDecimal"
int type = InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL;
((EditText)findViewById(R.id.price_for_liter_value_edit_text)).setInputType(type);