【问题标题】:OnLongClick and expand - collapse doesn't work simultaneously with Expandable ListViewOnLongClick 和展开 - 折叠不能与 Expandable ListView 同时工作
【发布时间】:2013-03-20 10:09:17
【问题描述】:
我必须在可扩展列表视图中长按组行时弹出警报对话框。当我在我的BaseExpandableListAdapter 类的onGroupView 方法中实现它时它可以工作。但是在此之后展开折叠功能不起作用。我认为长点击事件首先获取用户交互,因此阻碍了组视图的扩展。
我已将onLongClickListener 设置为组的膨胀视图。
但是,当我对孩子做同样的事情时。它工作得非常好,因为可扩展列表中的孩子没有像组这样的基本功能(展开和折叠)。
谁能建议我如何拦截这两个事件(长按+展开-折叠)。
【问题讨论】:
标签:
android
android-listview
expandablelistview
【解决方案1】:
您可以在可展开列表视图上设置 OnItemLongClickListener。
ExpandableListView.PACKED_POSITION_TYPE_GROUP是一个组的if,改成
ExpandableListView.PACKED_POSITION_TYPE_CHILD,您可以通过长按组子项进行操作。
pager_income = (ExpandableListView) findViewById(R.id.income_scroll);
pager_income.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
if (ExpandableListView.getPackedPositionType(id) == ExpandableListView.PACKED_POSITION_TYPE_GROUP) {
Toast toast = Toast.makeText(c, "Loong", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER_VERTICAL|Gravity.CENTER_HORIZONTAL, 0, 0);
toast.show();
return true;
}
return false;
}
});