Android快捷菜单的删除菜单添加事件,当点击删除菜单时,选中项从列表删除
时间: 2023-09-22 18:06:39 浏览: 160
菜单项删除
5星 · 资源好评率100%
您可以在删除菜单的点击事件中获取当前选中的项的位置,然后从列表数据源中移除该项,并通知列表适配器进行更新。
具体实现步骤如下:
1. 在菜单布局文件中添加一个删除菜单项,如下所示:
```xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_delete"
android:title="删除" />
</menu>
```
2. 在列表对应的 Activity 或 Fragment 中,为列表设置上下文菜单:
```java
registerForContextMenu(listView);
```
3. 在 Activity 或 Fragment 中重写 onCreateContextMenu 方法,在其中加载菜单布局文件:
```java
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
getMenuInflater().inflate(R.menu.context_menu, menu);
}
```
4. 在 Activity 或 Fragment 中重写 onContextItemSelected 方法,处理删除菜单的点击事件:
```java
@Override
public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_delete:
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
int position = info.position;
dataList.remove(position);
adapter.notifyDataSetChanged();
return true;
default:
return super.onContextItemSelected(item);
}
}
```
在删除菜单的点击事件中,先获取当前选中项的位置,然后从数据源中移除该项,并通知适配器进行更新即可。
阅读全文