Android 使用ActionBar菜单按钮从ListView中删除任务

Android 使用ActionBar菜单按钮从ListView中删除任务,android,Android,我正在为学生设计一个应用程序。在这个应用程序中,我有一个列表视图,其中包含使用SQLite存储的学生任务。我在操作栏上放置了两个菜单按钮,一个用于返回,另一个用于从列表中删除任务。当我单击“上一步”按钮时,它工作正常,但当我尝试从列表视图中删除任务时,它会首先询问用户是否要使用AlertDialog删除该任务。然后,Builder成功toast消息,但不会从列表中删除该任务 下面给出了操作栏菜单按钮的代码。请帮我更正代码,我会非常感激的 提前谢谢你 switch (item.getItemId(

我正在为学生设计一个应用程序。在这个应用程序中,我有一个列表视图,其中包含使用SQLite存储的学生任务。我在操作栏上放置了两个菜单按钮,一个用于返回,另一个用于从列表中删除任务。当我单击“上一步”按钮时,它工作正常,但当我尝试从列表视图中删除任务时,它会首先询问用户是否要使用AlertDialog删除该任务。然后,Builder成功toast消息,但不会从列表中删除该任务

下面给出了操作栏菜单按钮的代码。请帮我更正代码,我会非常感激的

提前谢谢你

switch (item.getItemId()) {
            case R.id.action_back:
                Intent openMainActivity = new Intent(this, MainActivity.class);
                startActivity(openMainActivity);
                return true;

            case R.id.action_discard:
                AlertDialog.Builder builder = new AlertDialog.Builder(Second.this);
                builder
                        .setTitle(getString(R.string.delete_title))
                        .setMessage(getString(R.string.delete_message))
                        .setIcon(android.R.drawable.ic_dialog_alert)
                        .setPositiveButton(getString(R.string.yes), new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int which) {
                                int id = getIntent().getExtras().getInt(getString(R.string.rodID));
                                db.delete(DbHelper.TABLE_NAME, DbHelper.ID + "=" + id, null);
                                Toast.makeText(Second.this,"Task deleted",Toast.LENGTH_SHORT).show();
                                db.close();
                                Intent openMainActivity = new Intent(Second.this, MainActivity.class);
                                startActivity(openMainActivity);
                            }
                        })
                        .setNegativeButton(getString(R.string.no), null)
                        .show();
                        return true;

            default:
                return super.onOptionsItemSelected(item);
        }

我认为您的Id与数据库Id不匹配。请打印您的行Id并检查其是否正确


从数据库中删除数据后,您需要再次查询并通知适配器数据已更改,否则请关闭应用程序并重新打开以查看效果。

您得到的错误是什么?请添加问题的详细信息。我认为您的Id与数据库Id不匹配。请打印您的行Id并检查其是否正确。@Adithya我不是如果应用程序出现任何错误,都可以正常工作。出现的唯一问题是,在我尝试从列表视图中删除任何任务后,它不会删除。Toast消息显示该任务已被删除,但该任务仍保留在列表视图中。@MKY尝试了这样做,但它对MEA不起作用从数据库中删除数据后,您需要再次查询并通知适配器数据已更改,否则请关闭应用程序并重新打开以查看效果