编辑:解决了!

我知道这已经发布过了,但是我从中看到的答案对我没有用。

我正在尝试从一个文本字段(我已将其指定为十进制输入)中获取输入,但是除了toString之外,我想不出其他任何方法来获取它的值。

我下面的崩溃崩溃和错误日志说

java.lang.IllegalStateException:无法执行 Activity 的方法

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

最佳答案

java.lang.IllegalStateException:无法执行的方法
Activity

发生此问题的可能原因是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());
    }
}

09-25 21:45