0

我必须在可扩展列表视图中长按组行时弹出警报对话框。当我在onGroupView我的类的方法中实现它时它可以工作。但是BaseExpandableListAdapter在这个扩展折叠功能不起作用之后。我认为长点击事件首先获取用户交互,因此它阻碍了组视图的扩展。

我已经设置onLongClickListener了 group 的膨胀视图。

但是,当我对孩子做同样的事情时。它工作得非常好,因为可扩展列表中的孩子没有像组这样的基本功能(扩展和折叠)。

谁能建议我如何拦截这两个事件(长按+展开-折叠)。

4

1 回答 1

0

您可以在可展开列表视图上设置 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;
        }
    });
于 2013-11-20T20:22:34.360 回答