我一直在像其他许多人一样,在创建一个风格上不同的列表 View ,并且从开始扩展AbsListView开始。根据Android文档,AbsListView为:
经过一些努力并检查了ListView的实现,由于两个类的耦合以及无法访问某些包成员,因此似乎无法像ListView那样扩展AbsListView。我偶然发现了这种形式的罗曼·盖伊:
我开始尝试执行此操作,但是复制AbsListView成为复制其他内容的麻烦,这实际上似乎是一个失败的主张。我想看看是否有人能够成功扩展可以共享一种方法的AbsListView。
[1] http://developer.android.com/reference/android/widget/AbsListView.html
[2] https://groups.google.com/forum/?fromgroups#!topic/android-developers/UhbR1tpVvF0
最佳答案
该职位大约在2010年,但他的评估在今天仍然有效。某些必要的方法和字段受到保护,以防止将来由于更改AbsListView的内部结构而导致的不兼容性。
最好的解决方案仍然是将AbsListView的代码以及必要的依赖项(您提到的兔子洞)复制到您的项目中。
同时,如果您要描述要构建的View类型,我们也许可以为您指明一个比创建自己的AbsListView稍微容易的方向?