Android ExpandableListView 长按事件
时间: 2024-01-24 13:05:25 浏览: 94
您好,针对您的问题,Android ExpandableListView 长按事件可以通过设置 OnItemLongClickListener 实现。具体操作如下:
1. 在 ExpandableListView 上设置 OnItemLongClickListener:
```java
expandableListView.setOnItemLongClickListener(new ExpandableListView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
// 处理长按事件
return true;
}
});
```
2. 在处理长按事件的方法中,根据 position 参数判断是父项还是子项被长按:
```java
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
int itemType = expandableListView.getPackedPositionType(id);
int groupPosition = expandableListView.getPackedPositionGroup(id);
int childPosition = expandableListView.getPackedPositionChild(id);
if (itemType == ExpandableListView.PACKED_POSITION_TYPE_GROUP) {
// 父项被长按
// TODO 处理父项长按事件
} else if (itemType == ExpandableListView.PACKED_POSITION_TYPE_CHILD) {
// 子项被长按
// TODO 处理子项长按事件
}
return true;
}
```
希望这些代码可以帮助您实现您的需求。
阅读全文