Android开发: 将onOptionsItemSelected()方法中的switch语句转换为if语句
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语句,因为这样代码结构更清晰,可读性更好。 - 以上代码仅供参考,你需要根据实际情况进行修改。
原文地址: https://www.cveoy.top/t/topic/c121 著作权归作者所有。请勿转载和采集!