在Android中将EditText中的int类型变量插入SQL数据库
我得到了一个EditText,我想在我的数据库中插入一个int类型变量。如果我插入一个数字,一切都好。但是如果我将EditText留空,应用程序就会崩溃。这是处理这个问题的代码,我认为这是一个整数.toString()问题或类似的问题在Android中将EditText中的int类型变量插入SQL数据库,android,sql,string,android-edittext,integer,Android,Sql,String,Android Edittext,Integer,我得到了一个EditText,我想在我的数据库中插入一个int类型变量。如果我插入一个数字,一切都好。但是如果我将EditText留空,应用程序就会崩溃。这是处理这个问题的代码,我认为这是一个整数.toString()问题或类似的问题 int target; if (targetNumber.getText().toString().isEmpty()) { target = Integer.parseInt(""); } else { target =
int target;
if (targetNumber.getText().toString().isEmpty()) {
target = Integer.parseInt("");
} else {
target = Integer.parseInt(targetNumber.getText().toString());
}
无法将“”解析为int。例如,可以存储0
int target;
if (targetNumber.getText().toString().isEmpty()) {
target = 0;
} else {
target = Integer.parseInt(targetNumber.getText().toString());
}
替换这个
target = Integer.parseInt("");
与
如果您想使用三元运算符:
int target = targetNumber.getText().toString().isEmpty() ? 0 : Integer.parseInt(targetNumber.getText().toString())
谢谢,但是在这种情况下,我不是在数据库中相应的行中添加了一个0吗?我的目标是将其保留为空。如果是targetNumber.getText().toString().isEmpty(),则不应将数据写入数据库。我该如何设置“不写入数据”条件?不幸的是,我无法帮助您。我还没有看到你的完整代码,但我不能传递一个int的空字符串模拟吗?
int target = targetNumber.getText().toString().isEmpty() ? 0 : Integer.parseInt(targetNumber.getText().toString())