当 EditText 为 Empty 或 null 时应用程序崩溃 - 如何解决它
Posted
技术标签:
【中文标题】当 EditText 为 Empty 或 null 时应用程序崩溃 - 如何解决它【英文标题】:App crashes when EditText is Empty or null - how to solve it 【发布时间】:2021-09-01 09:38:48 【问题描述】:@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.button);
textView4 = findViewById(R.id.textView4);
editTextNumberDecimal2 = findViewById(R.id.editTextNumberDecimal2);
editTextNumberDecimal3 = findViewById(R.id.editTextNumberDecimal3);
button.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
String s = editTextNumberDecimal2.getText().toString();
int kg = Integer.parseInt(s);
double pound = kg;
String k = editTextNumberDecimal3.getText().toString();
int cms = Integer.parseInt(k);
double ft = cms;
double bmi = (pound / ft / ft) * 10000;
if (bmi < 18.5)
textView4.setText("Thin - Eat something");
else if (bmi < 25)
textView4.setText("Fit - Keep it up");
else if (bmi < 30)
textView4.setText("Fat - Go on a diet");
else
textView4.setText("Very fat - Stop eating");
);
..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ......................忽略这些点...................... ..................................................... ......................................
【问题讨论】:
查看错误日志..在 google 上搜索错误...并阅读错误“我们何时以及为什么收到该错误?..eg- nullPointerException 在您的情况下可能..跨度> 【参考方案1】:您不能将空字符串解析为整数。所以先检查它是否为空。
public void onClick(View v)
String s = editTextNumberDecimal2.getText().toString();
if(s.isEmpty()) return;
int kg = Integer.parseInt(s);
double pound = kg;
String k = editTextNumberDecimal3.getText().toString();
if(k.isEmpty()) return;
int cms = Integer.parseInt(k);
// ...
【讨论】:
以上是关于当 EditText 为 Empty 或 null 时应用程序崩溃 - 如何解决它的主要内容,如果未能解决你的问题,请参考以下文章
将 JSON 对象传递给 MVC 控制器时 string.empty 转换为 null
如何在 Laravel 控制器中使用 null 或 empty?