java - 从 Android Studio 上的 EditText 获取十进制数

标签 java android

编辑:已解决!

我知道这之前已经发布过,但我从中看到的答案对我不起作用。

我正在尝试从一个文本字段(我已将其指定为十进制输入)获取输入,但除了 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: Could not execute method of the 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());
    }
}

关于java - 从 Android Studio 上的 EditText 获取十进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32599667/

相关文章:

java - 从现有 AWS Glue 爬网程序获取 Cloudformation

java - GPRS远程打印机

android - 未满足的对等依赖 React Native CLI Init

android - copyToRealmOrUpdate 删除了 RealmResults 中的更新对象

java - 安卓 5.0 IllegalArgumentException : Service Intent must be explicit: on com. google.android.location.internal.GoogleLocationManagerService.START

java - 当有更好的循环可用时,为什么我们要使用 do-while 循环?

java - 如何在 Hibernate Criteria 中加入后获取行数?

java - 如何使用Java从.html.gz网页中提取内容?

java - 如何重新抛出捕获的异常

android - 抖动错误: VM snapshot invalid and could not be inferred from settings