listview添加footerview

来源:互联网 发布:有个性淘宝店头像图片 编辑:程序博客网 时间:2024/05/21 11:18

listview添加footerview:要在setAdapter之前添加,即:

ItemSubListViewAdapter mAdapter=new ItemSubListViewAdapter();mListView.addFooterView(getFooterView());mListView.setAdapter(mAdapter);private View getFooterView(){    final View footerView = LayoutInflater.from(this).inflate(R.layout.layout_footer_view, null);    Button btn_clear_data = (Button) footerView.findViewById(R.id.btn_clear_data);    btn_clear_data.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View paramView) {HTransferDBHelper.getInstance().delete();hTransfers.clear();transferHistoryList.removeFooterView(footerView);transferHistoryAdapter.notifyDataSetChanged();}});    return footerView;    }


最近项目要在listview的底部添加一个清除历史记录的功能,listview添加footerview后,点击item会出错,主要原因是,添加footerview后的adapter是HeaderViewListAdapter.转换方式如下:

@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position,long id) {ItemSubListViewAdapter itemadapter=null;//ItemSubListViewAdapter继承自BaseAdapterif(parent.getAdapter() instanceof HeaderViewListAdapter){HeaderViewListAdapter headerAdapter=(HeaderViewListAdapter)parent.getAdapter();itemadapter = (ItemSubListViewAdapter)headerAdapter.getWrappedAdapter();//主要是这一句,将添加footerview后的Adapter转换为原来的Adapter}else{itemadapter = (ItemSubListViewAdapter) parent.getAdapter();}Object itemObj = itemadapter.getItem(position);if (itemObj instanceof BusStationDetail) {itemClickInterface.itemClick("StationNearby", itemObj);//<span style="font-family: Arial, Helvetica, sans-serif;">itemClickInterface为自定义的interface,用于在主界面中进行相应的操作</span>} else if (itemObj instanceof FStation) {itemClickInterface.itemClick("History", itemObj);}}


0 0
原创粉丝点击