为什么setAdapter之后不能addHeadView或者addfooterView

为什么setAdapter之后不能addHeadView或者addfooterView

请看setAdapter 代码

@[Android|Listview|Adapter]

  @Override
    public void setAdapter(ListAdapter adapter) {
        if (mAdapter != null && mDataSetObserver != null) {
            mAdapter.unregisterDataSetObserver(mDataSetObserver);
        }

        resetList();
        mRecycler.clear();
        //在这里可以清楚的看到,添加了headerview或者footerview 之后 
        //使用的Adapter是不一样的,所以不能在你添加了Adapter之后添加headview
        if (mHeaderViewInfos.size() > 0|| mFooterViewInfos.size() > 0) {
            mAdapter = new HeaderViewListAdapter(
                mHeaderViewInfos, mFooterViewInfos, adapter);
        } else {
            mAdapter = adapter;
        }
        ............///忽略了部分代码
    }

原文地址:https://www.cnblogs.com/Jabba93/p/4066585.html