我正在开发一款适用于android的应用程序,目前唯一的功能是计算成绩。有两个输入框,一个输入当前成绩,另一个输入可能的考试成绩,然后告诉你最后的成绩。但是,至少在其中一个框中没有任何价值时,它会崩溃。我试图做一个if语句来检测最终值是否为null,但是这并不起作用。这里是我的代码:如何处理Android中的null EditText值?
public void sendMessage(View view){
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText grade = (EditText) findViewById(R.id.grade1);
EditText exam = (EditText) findViewById(R.id.grade2);
String stringGrade = (grade.getText().toString());
String stringExam = (exam.getText().toString());
double finalResult = (Double.parseDouble(stringGrade) * .8) + (Double.parseDouble(stringExam) * 0.2);
String finalResultString = String.valueOf(finalResult);
if (finalResultString == null){
finalResultString = "0";
} else {
intent.putExtra(EXTRA_MESSAGE, finalResultString);
startActivity(intent);
}}
和这里的呈现它的代码:
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
TextView textView1 = new TextView(this);
textView1.setTextSize(30);
textView1.setText("Your final would be " + message);
setContentView(textView1);
仅供参考,在0.8和.2是因为当前等级在80%权重,而考试加权为20%。我怎样才能做到这一点,所以当没有东西放入盒子时它不会崩溃?
测试* stringGrade *和* stringExam *不等于“”之前计算* finalResult * – Rami 2014-12-07 17:15:06
非常感谢!这解决了问题。为了将来的参考,你必须使用!stringExam.equals(“”)而不是stringExam!=“”。 – Saamoz 2014-12-07 17:26:26
如果您解决了问题,请接受一个答案或添加您的解决方案作为未来参考的答案。 – Rami 2014-12-07 17:32:44