PullToRefreshExpandableListView 和BaseExpandableListAdapter

PullToRefreshExpandableListView用于解决像QQ好友列表那种中组件,用法和ListView相同,不过他的设置很繁琐并且填充要用BaseExpandableListAdapter填充,同时这个adapter也实现了notifyDataSetChanged()方法,

下面列举PullToRefreshExpandableListView 一些设置

        listView.getRefreshableView().setGroupIndicator(null);          
        listView.getRefreshableView().setDivider(null);          
        listView.getRefreshableView().setSelector(android.R.color.transparent);
        listView.getRefreshableView().setOnGroupClickListener(this);           //可以设置组点击监听

        listView.setPullToRefreshOverScrollEnabled(true);          //可刷新
        listView.setMode(PullToRefreshBase.Mode.PULL_FROM_END);      //设置模式,此模式是可以上拉,BOTH是上拉+下拉

          //上下拉监听,注意实现这个OnRefreshListener2类的对象
        listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ExpandableListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ExpandableListView> refreshView) {

                LogUitls.showToast(getActivity(), "下拉刷新");
                loadNextPage();
            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ExpandableListView> refreshView) {
                LogUitls.showToast(getActivity(), "上拉加载更多");
                loadNextPage();
            }
        });
          listView.getRefreshableView().setAdapter(adapter);// 填充adapter



下面是adapter的设置

private BaseExpandableListAdapter adapter=new BaseExpandableListAdapter() {

// 返回组的个数
        @Override
        public int getGroupCount() {
            return list.size();
        }

//返回每组中items的个数
        @Override
        public int getChildrenCount(int groupPosition) {
            return list.get(groupPosition).getClass_way().size();
        }
//返回组对象
        @Override
        public Object getGroup(int groupPosition) {
            return list.get(groupPosition);
        }
//返回每组items对象
        @Override
        public Object getChild(int groupPosition, int childPosition) {
            return list.get(groupPosition).getClass_way().get(childPosition);
        }
//返回组id
        @Override
        public long getGroupId(int groupPosition) {
            return groupPosition;
        }
//返回组中items的id
        @Override
        public long getChildId(int groupPosition, int childPosition) {
            return childPosition;
        }

        @Override
        public boolean hasStableIds() {
            return true ;
        }

        //返回父布局
        @Override
        public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {

            if (convertView==null){
                convertView=inflater.inflate(R.layout.items_parents_class_list_fragment,null);
            }
            TextView grade= ViewHolder.get(convertView,R.id.tv_grade_items_parents_class_list_fragment);
            grade.setText(list.get(groupPosition).getGrade_name());
            TextView subject=ViewHolder.get(convertView,R.id.tv_subject_items_parents_class_list_fragment);
            subject.setText(list.get(groupPosition).getSubject_name());
            TextView goodsName=ViewHolder.get(convertView,R.id.tv_name_items_parents_class_list_fragment);
            goodsName.setText(list.get(groupPosition).getGoodsName());
            return convertView;
        }

//        返回子布局
        @Override
        public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {

            if (convertView==null){
                convertView=inflater.inflate(R.layout.items_childs_class_list_fragment,null);
            }
            TextView classWay=ViewHolder.get(convertView,R.id.tv_class_way_items_childs_class_list_fragment);
            classWay.setText(list.get(groupPosition).getClass_way().get(childPosition).getClass_way_name());
            TextView classWayPrice=ViewHolder.get(convertView,R.id.tv_class_way_price_items_childs_class_list_fragment);
            classWayPrice.setText("¥"+list.get(groupPosition).getClass_way().get(childPosition).getClass_price()+"/时");
            return convertView;
        }

        @Override
        public boolean isChildSelectable(int groupPosition, int childPosition) {
            return true;
        }
    };
         


       


 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值