.BusinessListAdapter无法强制转换为android.widget.HeaderViewListAdapter

时间:2013-11-28 10:22:20

标签: android casting listadapter

我正在尝试在ListAdapterHeaderViewListAdapter之间进行转换。当我运行我的应用时,我收到以下错误:

  

引起:java.lang.ClassCastException:   com.trustme.ui.adapter.BusinessListAdapter无法强制转换为   android.widget.HeaderViewListAdapter

这是我的代码:

HeaderViewListAdapter hlva = ((HeaderViewListAdapter) searchBy.getPtr()
            .getAdapter());

2 个答案:

答案 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)适配器;