예제 #1
0
 public void UnregisterDataSetObserver(DataSetObserver observer)
 {
     mDataSetObservable.UnregisterObserver(observer);
     if (mAdapter != null)
     {
         mAdapter.UnregisterDataSetObserver(observer);
     }
 }
        public override void SetAdapter(IListAdapter adapter)
        {
            // assert adapter in debug mode
//			if (BuildConfig.DEBUG && adapter != null) {
//				if (!(adapter.GetType() ==  (new PinnedSectionListAdapter()).GetType()))
//					throw IllegalArgumentException("Does your adapter implement PinnedSectionListAdapter?");
//				if (adapter.ViewTypeCount < 2)
//					throw new IllegalArgumentException("Does your adapter handle at least two types" +
//						" of views in getViewTypeCount() method: items and sections?");
//			}

            // unregister observer at old adapter and register on new one
            IListAdapter oldAdapter = Adapter;

            if (oldAdapter != null)
            {
                oldAdapter.UnregisterDataSetObserver(mDataSetObserver);
            }
            if (adapter != null)
            {
                adapter.RegisterDataSetObserver(mDataSetObserver);
            }

            // destroy pinned shadow, if new adapter is not same as old one
            if (oldAdapter != adapter)
            {
                destroyPinnedShadow();
            }

            base.SetAdapter(adapter);
        }
예제 #3
0
 public override void UnregisterDataSetObserver(global::Android.Database.DataSetObserver observer)
 {
     mAdapter.UnregisterDataSetObserver(observer);
 }
예제 #4
0
 public void UnregisterDataSetObserver(DataSetObserver observer)
 {
     mAdapter.UnregisterDataSetObserver(observer);
 }