zoukankan      html  css  js  c++  java
  • ExpandableListView 遇到的问题

    最近在写一款电商类APP   购物车部分用ExpandableListView来写,在此记录一下遇到的问题

      1.ExpandableListView的展开与关闭

           expandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
                @Override
                public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
                    return true;//返回true,表示可展开
                }
            });

      2.ExpandableListView点击父布局时不关闭

    父布局中包含了CheckBox Button ImageButton等控件,占用了焦点

    解决办法 在占用焦点的控件中加入代码

      android:clickable="false"
      android:focusable="false"
      android:focusableInTouchMode="false"

      3ExpandableListView子布局点击事件不响应

    在子布局中存在CheckBox Button ImageButton等控件,占用了焦点

    解决办法

      android:clickable="false"
      android:focusable="false"
      android:focusableInTouchMode="false"

    在Adapter中设置

     //是否响应子列表点击事件
        @Override
        public boolean isChildSelectable(int groupPosition, int childPosition) {
            return true;//true表示子列表可以点击  false表示不可点击
        }

      4.ExpandableListView长按监听

    在adapter中的getGroupView()方法中

            convertView.setTag(R.id.tv_hj, groupPosition);//tv_hj 此类中的成员变量
            convertView.setTag(R.id.tv_gl, -1);//tv_gl此类中的成员变量

    在adapter中的getChildView()方法中

        convertView.setTag(R.id.tv_hj, groupPosition);
        convertView.setTag(R.id.tv_gl, childPosition);

    在类中

    elvView.setOnItemLongClickListener(new OnItemLongClickListener() {
                @Override
                public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
                    int groupPos = (Integer) view.getTag(R.id.tv_hj);
                    int childPos = (Integer) view.getTag(R.id.tv_gl);
                    if(childPos == -1){//长按父控件
                      MsgTools.toast(getActivity(),"点击了父"+groupPos,"s");
                    }else{//长按子控件
                        MsgTools.toast(getActivity(),"点击了子"+childPos,"s");
                    }
                    return true;
                }
            });
  • 相关阅读:
    juicer 语法
    mvc 理解
    php 之 trait
    阿里P8面试官:如何设计一个扛住千万级并发的架构?
    建模
    镜像推送时出现 server gave HTTP response to HTTPS client 问题的解决方法
    git在线练习网站
    ubuntu 20.04 LTS 更换阿里云源
    Proxmox VE(Proxmox Virtual Environment)制作优盘(U盘)启动盘的教程说明方法
    KubeSphere部署Nacos集群
  • 原文地址:https://www.cnblogs.com/crazy-wang-android/p/9257174.html
Copyright © 2011-2022 走看看