无法从EditText获得正确的float值

时间:2019-02-20 18:52:22

标签: java android android-edittext

因此,我尝试使用float来读取EditText的值,但我似乎总是找回在所有情况下都初始化为0.0的值。

Java代码:

  try {
        //To get weight
        EditText W = (EditText) view.findViewById(R.id.weight);
        //Weight = Float.valueOf(W.getText().toString());
        //String weight = W.getText().toString();
        Weight = Float.valueOf(W.getText().toString());

        //To get height
        EditText H = (EditText) view.findViewById(R.id.height);
        Height = Float.valueOf(H.getText().toString());

        //To get age
        EditText A = (EditText) view.findViewById(R.id.Age);
        Age = Float.valueOf(A.getText().toString());
    }
    catch(Exception e)
    {
        e.getMessage();
    }

其中之一的XML代码:

    <EditText
        android:id="@+id/weight"
        android:layout_width="70dp"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@id/da"
        android:layout_centerHorizontal="true"
        android:ems="10"
        android:inputType="number"
        android:textColor="@color/colorAccent" />
  

注意:我使用的是片段而不是活动

2 个答案:

答案 0 :(得分:0)

您可以试试吗?我相信inputType应该设置为numberDecimal而不是number。谢谢

<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="numberDecimal" />

答案 1 :(得分:0)

确保EditText位于onClickListener