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;
                }
            });
  • 相关阅读:
    (转载)_信息安全入门指南
    经历--比赛绿盟_安全研究员
    Python正则表达式操作指南
    web 安全学习
    2014-9-10中午睡觉的一个梦
    渗透工具学习
    CVE 2013-3897
    STL 学习
    设置chrome 可以保存mht网页
    合并windows7系统下的两个IE8浏览器进程
  • 原文地址:https://www.cnblogs.com/crazy-wang-android/p/9257174.html
Copyright © 2011-2022 走看看