在try / catch中的AlertDialog中吐司

时间:2012-04-02 22:28:04

标签: android sqlite try-catch toast android-alertdialog

当用户为数据库中无法删除的项目输入数字时,我试图收到错误消息。我已经得到它,所以用户可以从数据库中删除一个项目,我认为使用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();
    }
}

2 个答案:

答案 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,假等等)并检查它