title: Is it possible to extend AbsListView to make new ListView implementations?
body: <p>I've been looking at creating a stylistically different list view, like many other people, and I started by looking to extend AbsListView. Per the Android doc, AbsListView is:</p>
  
  <blockquote>
    <p>Base class that can be used to implement virtualized lists of items. A list does not have a spatial definition here. For instance, subclases of this class can display the content of the list in a grid, in a carousel, as stack, etc.</p>
  </blockquote>
  
  <p>After some effort and review of the ListView implementation, it looks like it may not be possible to extend AbsListView the way ListView does because of the coupling of the two classes and the inability to access certain package members. I stumbled on this form Romain Guy:</p>
  
  <blockquote>
    <p>AbsListView and AbsSpinner are designed to be extended within the
    framework. They could also be extended in 3rd party apps but we did
    not expose all the necessary protected fields and methods on purpose.
    We want to be very careful in how we expose such APIs so as to not get
    stuff for future extensions and internal changes. Our current
    recommendation is you simply copy/paste the code you need inside your
    app.</p>
  </blockquote>
  
  <p>I started trying to do this but copying AbsListView becomes a rabbit hole of copying in a bunch of other stuff and it really just seems like a losing proposition. I wanted to see if anyone has had success extending AbsListView who could share a methodology.</p>
  
  <p>[1] <a href="http://developer.android.com/reference/android/widget/AbsListView.html" rel="noreferrer">http://developer.android.com/reference/android/widget/AbsListView.html</a></p>
  
  <p>[2] <a href="https://groups.google.com/forum/?fromgroups#!topic/android-developers/UhbR1tpVvF0" rel="noreferrer">https://groups.google.com/forum/?fromgroups#!topic/android-developers/UhbR1tpVvF0</a></p>