public boolean onOptionsItemSelected(@NonNull MenuItem item) {
    if (item.getItemId() == R.id.menu_clear) {
        new AlertDialog.Builder(MainActivity.this)
                .setMessage('删除全部吗?')
                .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dbHelper = new NoteDatabase(context);
                        SQLiteDatabase db = dbHelper.getWritableDatabase();
                        db.delete('notes', null, null);
                        db.execSQL('update sqlite_sequence set seq=0 where name='notes'');
                        refreshListView();
                    }
                })
                .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                })
                .create()
                .show();
    }
    return super.onOptionsItemSelected(item);
}

这段代码展示了如何将 onOptionsItemSelected() 方法中的 switch 语句替换为 if 语句。

说明:

  • onOptionsItemSelected() 方法用于处理菜单项的点击事件。
  • 在本例中,我们只需要处理 R.id.menu_clear 菜单项的点击事件,因此使用 if 语句更为简洁。
  • item.getItemId() 返回的值等于 R.id.menu_clear 时,就会执行 if 语句块内的代码。
  • if 语句块内,我们创建了一个 AlertDialog,用于提示用户是否确认删除所有数据。
  • 如果用户点击了 '确定' 按钮,就会执行数据库删除操作,并刷新列表视图。
  • 最后,我们调用 super.onOptionsItemSelected(item) 方法来处理其他菜单项的点击事件。

注意:

  • 在实际开发中,如果需要处理多个菜单项的点击事件,建议使用 switch 语句,因为这样代码结构更清晰,可读性更好。
  • 以上代码仅供参考,你需要根据实际情况进行修改。
Android开发: 将onOptionsItemSelected()方法中的switch语句转换为if语句

原文地址: https://www.cveoy.top/t/topic/c121 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录