ListView的headerView和footerView

来源:互联网 发布:java冒泡排序经典代码 编辑:程序博客网 时间:2024/05/22 10:52

这里写图片描述

如上图, 现在有一个需求,listview头部和尾部的内容不变,但它中间的内容是可变长的,整个区域都可滑动。这时就可运用headerView和footerView来解决此问题。

首先要画出三块布局:

1、headerView
这里写图片描述

2、footerView
这里写图片描述

3、itemView
这里写图片描述

主要代码和注释如下:

//初始化headerView和footerView        LayoutInflater inflater = LayoutInflater.from(this);        headerView = inflater.inflate(R.layout.header_view_order_detail,null);        footerView = inflater.inflate(R.layout.footer_view_order_detail, null);        //headerView和footerView里的控件可以设置点击事件        View viewTwiceApply = headerView.findViewById(R.id.header_order_detail_tr_twice_apply);        View viewReplenish = headerView.findViewById(R.id.header_order_detail_tr_replenish);        viewTwiceApply.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                Toast.makeText(OrderDetailActivity.this,"点击了二次申请",Toast.LENGTH_SHORT).show();            }        });        viewReplenish.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                Toast.makeText(OrderDetailActivity.this,"点击了补货",Toast.LENGTH_SHORT).show();            }        });        //将headerView和footerView加入listView        mLv.addHeaderView(headerView);        mLv.addFooterView(footerView);        //设置listView的adapter        mAdapter = new OrderDetailItemAdapter(this,mEntities);        mLv.setAdapter(mAdapter);
0 0