Android 使用ActionBar菜单按钮从ListView中删除任务
我正在为学生设计一个应用程序。在这个应用程序中,我有一个列表视图,其中包含使用SQLite存储的学生任务。我在操作栏上放置了两个菜单按钮,一个用于返回,另一个用于从列表中删除任务。当我单击“上一步”按钮时,它工作正常,但当我尝试从列表视图中删除任务时,它会首先询问用户是否要使用AlertDialog删除该任务。然后,Builder成功toast消息,但不会从列表中删除该任务 下面给出了操作栏菜单按钮的代码。请帮我更正代码,我会非常感激的 提前谢谢你Android 使用ActionBar菜单按钮从ListView中删除任务,android,Android,我正在为学生设计一个应用程序。在这个应用程序中,我有一个列表视图,其中包含使用SQLite存储的学生任务。我在操作栏上放置了两个菜单按钮,一个用于返回,另一个用于从列表中删除任务。当我单击“上一步”按钮时,它工作正常,但当我尝试从列表视图中删除任务时,它会首先询问用户是否要使用AlertDialog删除该任务。然后,Builder成功toast消息,但不会从列表中删除该任务 下面给出了操作栏菜单按钮的代码。请帮我更正代码,我会非常感激的 提前谢谢你 switch (item.getItemId(
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不起作用从数据库中删除数据后,您需要再次查询并通知适配器数据已更改,否则请关闭应用程序并重新打开以查看效果