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