我正在尝试在ListAdapter
和HeaderViewListAdapter
之间进行转换。当我运行我的应用时,我收到以下错误:
引起:java.lang.ClassCastException: com.trustme.ui.adapter.BusinessListAdapter无法强制转换为 android.widget.HeaderViewListAdapter
这是我的代码:
HeaderViewListAdapter hlva = ((HeaderViewListAdapter) searchBy.getPtr()
.getAdapter());
答案 0 :(得分:0)
你做不到。他们唯一的共同点是名字中的“适配器”一词。就是这样。 HeaderViewListAdapter没有实现Adapter,更不用说ListAdapter是接口。
答案 1 :(得分:0)
查看API - 文档,您会发现HeaderViewListAdapter实现了WrapperListAdapter,它是ListAdapter接口的扩展。 但是如果BusinessListAdapter是一个ListAdapter并且你试图将它强制转换为HeaderViewListAdapter,那么这是一个upcast,除非是底层对象,否则它将不起作用。 BusinessListAdapter是一个WrapperListAdapter或一个HeaderViewListAdapter,比如说:
BusinessListAdapter adapter = new HeaderViewListAdapter();
HeaderViewListAdapter adapter2 =(HeaderViewListAdapter)适配器;