在使用ContextMenuItemSelected长点击时从ExpandableListView中删除一个项目,可以按照以下步骤进行操作:
registerForContextMenu(expandableListView);
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_menu, menu); // R.menu.context_menu为自定义的菜单布局文件
}
@Override
public boolean onContextItemSelected(MenuItem item) {
ExpandableListView.ExpandableListContextMenuInfo info = (ExpandableListView.ExpandableListContextMenuInfo) item.getMenuInfo();
int groupPos = ExpandableListView.getPackedPositionGroup(info.packedPosition);
int childPos = ExpandableListView.getPackedPositionChild(info.packedPosition);
switch (item.getItemId()) {
case R.id.delete_item:
// 在这里执行删除操作
// 根据groupPos和childPos获取要删除的项目,并从数据源中移除
// 例如:dataList.get(groupPos).remove(childPos);
// 更新ExpandableListView的显示
// 例如:adapter.notifyDataSetChanged();
return true;
default:
return super.onContextItemSelected(item);
}
}
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/delete_item"
android:title="删除" />
</menu>
以上是在用ContextMenuItemSelected长点击时从ExpandableListView中删除一个项目的基本步骤。具体的实现方式可能会根据项目的具体情况有所不同。关于ExpandableListView的更多信息,可以参考腾讯云的官方文档:ExpandableListView。
领取专属 10元无门槛券
手把手带您无忧上云