listview长按弹出菜单,并且给菜单添加点击事件java代码实现
时间: 2024-01-22 11:19:31 浏览: 102
以下是一个简单的示例代码,实现了ListView长按弹出菜单,并且给菜单添加点击事件:
```
listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
PopupMenu popupMenu = new PopupMenu(MainActivity.this, view);
popupMenu.getMenuInflater().inflate(R.menu.popup_menu, popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_delete:
// 在这里处理删除操作
return true;
case R.id.action_edit:
// 在这里处理编辑操作
return true;
default:
return false;
}
}
});
popupMenu.show();
return true;
}
});
```
需要在`res/menu`目录下创建一个名为`popup_menu.xml`的菜单文件,示例代码如下:
```
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_delete"
android:title="删除" />
<item
android:id="@+id/action_edit"
android:title="编辑" />
</menu>
```
在菜单项的点击事件中,可以根据不同的菜单项ID来执行不同的操作。
阅读全文