如果edittext为空,在执行类型转换的时候很容易导致异常,这种常见错误甚至直接导致app闪退。
比如下面,id没有输入,通过id查询会导致app闪退。我用了一个try...catch...捕获异常处理了。
View.OnClickListener queryButtonListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
if (idEntry.getText().length() > 0) {
try {
int id = Integer.parseInt(idEntry.getText().toString().trim());
People[] peoples = dbAdapter.queryOneData(id);
if (peoples == null) {
labelView.setText("数据库中没有ID为" + String.valueOf(id) + "的数据");
return;
}
labelView.setText("数据库:");
displayView.setText(peoples[0].toString());
} catch (NumberFormatException e) {//这个有效解决了id为空,异常闪退的问题。
}
}
}
};