从Android Studio的EditText获取十进制数

3

编辑:已解决!

我知道这个问题以前已经发布过,但是我看到的答案对我没有用。

我想要从一个文本字段(我已将其指定为十进制输入)中获取输入,但除了将其toString之外,我想不到其他获取它的值的方法。

下面的代码会崩溃,错误日志显示:

java.lang.IllegalStateException: 无法执行活动的方法

public void buttonOnClick(View v){
    // do something when the button is clicked

    Double inputNum;

    TextView mField = (TextView) findViewById(R.id.mField);
    TextView kmField = (TextView) findViewById(R.id.kmField);

    if(mField.length() > 0){
        inputNum = ( Double.valueOf(kmField.getText().toString()) )/ 0.62137;
        mField.setText(inputNum.toString());
    }
}

Double.parseDouble(kmField.getText().toString())? - Apurva
1
我对看到那些其他的帖子很感兴趣。 - ChiefTwoPencils
2个回答

3

java.lang.IllegalStateException: 无法执行活动的方法

可能导致此问题的原因是 kmField.getText().toString() 返回 null。请在这里对 kmField 进行一些验证。

public void buttonOnClick(View v){
    // do something when the button is clicked

    Double inputNum;

    TextView mField = (TextView) findViewById(R.id.mField);
    TextView kmField = (TextView) findViewById(R.id.kmField);

    if(kmField.getText().toString().isEmpty()){
        inputNum = ( Double.valueOf(kmField.getText().toString()) )/ 0.62137;
        mField.setText(inputNum.toString());
    }
}

有点尴尬,我把 kmField 写成了 mField。你的代码让我最终意识到了这个问题。谢谢! - axu

1

XML 文件:

<EditText
           android:id="@+id/editS0"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:ems="10"
           android:hint="@string/S0"
           android:inputType="numberDecimal" />
<Button
           android:id="@+id/getS0"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="@string/setS0" />

在您的Java文件中:
EditText textS0 = (EditText)findViewById(R.id.editS0);
Button btn_S0 = (Button)findViewById(R.id.getS0);

btn_S0.setOnClickListener(new View.OnClickListener() 
{
    public void onClick(View v)
    {
       double S0 = Double.parseDouble(textS0.getText().toString());
    }
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接