【转载】cannot be cast…

    xiaoxiao2021-04-18  69

    原文地址:cannot be cast to android.widget.HeaderViewListAdapter

    cannot be cast to android.widget.HeaderViewListAdapter

    用listview设置header或footerview,通常发生该异常。

    如果你没有发生,那是碰巧。但是你可能不知道原因。

    如果在listview.setAdapter(adapter)方法之后 添加头或尾view,

    即addHeaderView或 addFooterView,

    那么在你listView.removeHearderView或removeFooterView时就会报该异常。

    在Listview的源码中如果设置了adapter,那么它会强转成HeaderViewListAdapter,所以就会报错。

    if (mAdapter != null && ((HeaderViewListAdapter) mAdapter).removeHeader(v)) {      if (mDataSetObserver != null) {          mDataSetObserver.onChanged();      }      result = true; }

    所以你一定要在setAdapter之前调用addHeaderView或addFooterVeiw.
    转载请注明原文地址: https://ju.6miu.com/read-675211.html

    最新回复(0)