编辑:已解决!
我知道这之前已经发布过,但我从中看到的答案对我不起作用。
我正在尝试从一个文本字段(我已将其指定为十进制输入)获取输入,但除了 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/