当用户为数据库中无法删除的项目输入数字时,我试图收到错误消息。我已经得到它,所以用户可以从数据库中删除一个项目,我认为使用try catch来避免运行时错误,如果该数字不存在。我想要做的是当用户输入无效数字时弹出一个Toast。我已经在堆栈上看过其他类似的贴子并且没有任何运气。这是我的代码。如果您需要我发布更多代码,请告诉我。
public void onClick(DialogInterface dialog, int which) {
try {
String id=idNum.getText().toString();
long primaryId=Long.parseLong(id);
info.open();
info.deleteInspection(primaryId);
info.close();
dbInfo();
} catch(Exception e) {
Toast.makeText(getApplicationContext(), "Number not found", Toast.LENGTH_SHORT).show();
}
}
答案 0 :(得分:1)
您可以使deleteInspection()
方法返回一个布尔值,告知是否删除了给定的ID。然后在onClick方法中检查它:
boolean result = info.deleteInspection(primaryId);
if(!result) {
Toast.makeText(getApplicationContext(), "Number not found", Toast.LENGTH_SHORT).show();
}
答案 1 :(得分:0)
这不是关于尝试/捕获,你想要发布"号码未找到"
你需要的是从数据库中返回它发现此id要删除的结果
正如Soren.Qvist所说。
你需要从数据库中将一些值返回给你的代码(可能是-1,假等等)并检查它