Android快捷菜单的删除菜单添加事件,当点击删除菜单时,选中项从列表删除,在 onContextItemSelected方法中实现
时间: 2024-02-18 19:05:00 浏览: 111
好的,对于你的问题,我可以给出以下代码示例供你参考:
首先,在你的Activity中,你需要注册上下文菜单,示例代码如下:
```java
// 注册上下文菜单
registerForContextMenu(yourListView);
```
接下来,你需要覆盖 onCreateContextMenu() 方法,实现上下文菜单的创建,示例代码如下:
```java
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.your_context_menu, menu);
}
```
在你的菜单布局文件中,你需要添加一个删除菜单,示例代码如下:
```xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_delete"
android:title="删除" />
</menu>
```
最后,在 onContextItemSelected() 方法中,你需要实现删除菜单的点击事件,示例代码如下:
```java
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case R.id.menu_delete:
// 从列表中删除选中项
yourListAdapter.remove(info.position);
yourListAdapter.notifyDataSetChanged();
return true;
default:
return super.onContextItemSelected(item);
}
}
```
希望这个示例代码对你有帮助。
阅读全文