4040import android .view .ViewGroup ;
4141import android .widget .AbsListView ;
4242import android .widget .BaseAdapter ;
43- import android .widget .HeaderViewListAdapter ;
4443import android .widget .ListAdapter ;
4544import android .widget .ListView ;
4645
@@ -637,18 +636,74 @@ public ListAdapter getInputAdapter() {
637636 }
638637 }
639638
640- private class AdapterWrapper extends HeaderViewListAdapter {
639+ private class AdapterWrapper extends BaseAdapter {
641640 private ListAdapter mAdapter ;
642641
643642 public AdapterWrapper (ListAdapter adapter ) {
644- super (null , null , adapter );
643+ super ();
645644 mAdapter = adapter ;
645+
646+ mAdapter .registerDataSetObserver (new DataSetObserver () {
647+ public void onChanged () {
648+ notifyDataSetChanged ();
649+ }
650+
651+ public void onInvalidated () {
652+ notifyDataSetInvalidated ();
653+ }
654+ });
646655 }
647656
648657 public ListAdapter getAdapter () {
649658 return mAdapter ;
650659 }
651660
661+ @ Override
662+ public long getItemId (int position ) {
663+ return mAdapter .getItemId (position );
664+ }
665+
666+ @ Override
667+ public Object getItem (int position ) {
668+ return mAdapter .getItem (position );
669+ }
670+
671+ @ Override
672+ public int getCount () {
673+ return mAdapter .getCount ();
674+ }
675+
676+ @ Override
677+ public boolean areAllItemsEnabled () {
678+ return mAdapter .areAllItemsEnabled ();
679+ }
680+
681+ @ Override
682+ public boolean isEnabled (int position ) {
683+ return mAdapter .isEnabled (position );
684+ }
685+
686+ @ Override
687+ public int getItemViewType (int position ) {
688+ return mAdapter .getItemViewType (position );
689+ }
690+
691+ @ Override
692+ public int getViewTypeCount () {
693+ return mAdapter .getViewTypeCount ();
694+ }
695+
696+ @ Override
697+ public boolean hasStableIds () {
698+ return mAdapter .hasStableIds ();
699+ }
700+
701+ @ Override
702+ public boolean isEmpty () {
703+ return mAdapter .isEmpty ();
704+ }
705+
706+
652707 @ Override
653708 public View getView (int position , View convertView , ViewGroup parent ) {
654709
@@ -664,7 +719,7 @@ public View getView(int position, View convertView, ViewGroup parent) {
664719 if (child != oldChild ) {
665720 // shouldn't get here if user is reusing convertViews
666721 // properly
667- v .removeViewAt (0 );
722+ v .removeViewAt (0 );
668723 v .addView (child );
669724 }
670725 } else {
0 commit comments