我正试图将Pixate添加到我们用Xamarin构建的跨平台应用程序中。
在安卓应用程序中,我使用自定义ListView和自定义适配器来实现接口。但是,当将列表视图的Adapter属性设置为我的自定义适配器时,它的基类是Java.Lang.Object而不是BaseAdapter,不再实现接口(强制转换将导致异常)。
有人和Pixate有过类似的问题吗?我该怎么解决呢?
发布于 2014-04-11 00:31:16
我已经在github回购上回答了这个问题,这是一个复制粘贴。
Pixate在AdapterViews上工作,方法是代理它们,以便用它们的新位置标记回收视图(参见https://github.com/Pixate/pixate-freestyle-android/blob/master/pixate-freestyle/src/com/pixate/freestyle/PXHierarchyListener.java#L232 )。这使得我们可以在列表中设置更复杂的CSS表达式,比如"nth-child“。目前,这个java.lang.reflect.Proxy是用几个已知的适配器接口创建的,所以如果您想要获得原始的BaseAdapter,那么转换就会失败。
好消息是,我们有一种通过PixateFreestyle.getAdapter(AdapterView视图)访问原始适配器的方法。然后,您可以转换到您的BaseAdapter。这不应该引起任何问题。
https://stackoverflow.com/questions/22989297
复制相似问题