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);