ExpandableListView条目长按事件

在oncreat中写入

expandableListView.setOnItemLongClickListener(onItemLongClickListener);

//直接赋值一下代码

private AdapterView.OnItemLongClickListener onItemLongClickListener = new AdapterView.OnItemLongClickListener() {
    @Override
    public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
        final long packedPosition = expandableListView.getExpandableListPosition(position);
        final int groupPosition = ExpandableListView.getPackedPositionGroup(packedPosition);
        final int childPosition = ExpandableListView.getPackedPositionChild(packedPosition);
        //长按的是group的时候,childPosition = -1,这是子条目的长按点击
        if (childPosition != -1) {
            //这是我的AlerDialog,换成自己的即可
            final SelfDialog selfDialog=new SelfDialog(MainActivity.this);
            selfDialog.setTitle("删除");
            selfDialog.setMessage("确定要删除本商品吗?");
            selfDialog.setYesOnclickListener("是的", new SelfDialog.onYesOnclickListener() {
                @Override
                public void onYesClick() {

                    selfDialog.dismiss();
                }
            });
            selfDialog.setNoOnclickListener("我再想想", new SelfDialog.onNoOnclickListener() {
                @Override
                public void onNoClick() {
                    selfDialog.dismiss();

                }
            });
            selfDialog.show();
        }
        return true;
    }
};

切记:一定要确保焦点在条目上,不然肯定没有效果!

猜你喜欢

转载自blog.csdn.net/ZhangXuxiaoqingnian/article/details/81541864