private void Initialize(Context context) { if (!_initialized) { m_TouchSlop = ViewConfiguration.Get(this.Context).ScaledTouchSlop; m_DataSetObserver = new StickyListHeadersListViewObserver(this); m_AdapterHeaderAdapterClickListener = new AdapterHeaderAdapterClickListener(OnHeaderListClickListener, this); base.SetOnScrollListener(this); //null out divider, dividers are handled by adapter so they look good with headers base.Divider = null; base.DividerHeight = 0; m_ViewConfiguration = ViewConfiguration.Get(context); m_ClippingToPadding = true; try { //reflection to get selector ref var absListViewClass = JNIEnv.FindClass(typeof(AbsListView)); var selectorRectId = JNIEnv.GetFieldID(absListViewClass, "mSelectorRect", "()Landroid/graphics/Rect"); var selectorRectField = JNIEnv.GetObjectField(absListViewClass, selectorRectId); m_SelectorRect = Java.Lang.Object.GetObject <Rect>(selectorRectField, JniHandleOwnership.TransferLocalRef); var selectorPositionId = JNIEnv.GetFieldID(absListViewClass, "mSelectorPosition", "()Ljava/lang/Integer"); m_SelectorPositionField = JNIEnv.GetObjectField(absListViewClass, selectorPositionId); } catch (Exception) { } _initialized = true; } }
public override void UnregisterDataSetObserver(DataSetObserver observer) { _observeCount--; if (_observeCount == 0) { if (_incc != null) { _incc.CollectionChanged -= OnCollectionChanged; } foreach (var entry in _initializedViews) { var inpc = entry.Value.Data as INotifyPropertyChanged; if (inpc != null) { inpc.PropertyChanged -= OnItemChanged; } _destroyView?.Invoke(entry.Key); } _initializedViews.Clear(); } base.UnregisterDataSetObserver(observer); }
protected override void Dispose(bool disposing) { if (disposing) { if (null != _gestureDetector) { _gestureDetector.Dispose(); _gestureDetector = null; } if (null != Scroller) { Scroller.Dispose(); Scroller = null; } if (null != _dataSetObserver) { _dataSetObserver.Dispose(); _dataSetObserver = null; } if (null != _velocityTracker) { _velocityTracker.Recycle(); _velocityTracker = null; } } base.Dispose(disposing); }
/// <summary> /// Удаление потребителя данных /// </summary> /// <param name="observer"></param> public override void UnregisterDataSetObserver(DataSetObserver observer) { //Вызываем метод базового класса base.UnregisterDataSetObserver(observer); //Уменьшаем счётчик потребителей _observersCount -= 1; //Если все потребители отключились if (_observersCount == 0) { //Блокируем доступ lock (_items) { //Блокируем доступ lock (_itemsToLoad) { //Очищаем словарь элементов для загрузки _itemsToLoad.Clear(); } //Очищаем список отображаемых элементов _items.Clear(); } } }
public void UnregisterDataSetObserver(DataSetObserver observer) { if (mAdapter != null) { mAdapter.UnregisterDataSetObserver(observer); } }
void IAdapter.UnregisterDataSetObserver (DataSetObserver observer) { dataSetObservable.UnregisterObserver(observer); if (mAdapter != null) { mAdapter.UnregisterDataSetObserver(observer); } }
public void registerDataSetObserver(DataSetObserver observer) { mDataSetObservable.RegisterObserver(observer); if (mAdapter != null) { mAdapter.RegisterDataSetObserver(observer); } }
public void UnregisterDataSetObserver(DataSetObserver observer) { if (_adapter == null) { return; } _adapter.UnregisterDataSetObserver(observer); }
public void UnregisterDataSetObserver(DataSetObserver observer) { _dataSetObservable.UnregisterObserver(observer); if (_adapter != null) { _adapter.UnregisterDataSetObserver(observer); } }
public StickyGridHeadersBaseAdapterWrapper(Context context, StickyGridHeadersGridView gridView, object adapter) { mDataSetObserver = new StickyGridHeadersBaseAdapterWrapperObserver(this); mContext = context; mDelegate = adapter as IStickyGridHeadersBaseAdapter; mGridView = gridView; ((IStickyGridHeadersBaseAdapter)adapter).RegisterDataSetObserver(mDataSetObserver); }
private void initView() { mDataSetObserver = new DataSetObserverImpl(this); mOnScrollListener = new OnScrollListenerImpl(this); SetOnScrollListener(mOnScrollListener); mTouchSlop = ViewConfiguration.Get(Context).ScaledTouchSlop; initShadow(true); }
public StickyGridHeadersListAdapterWrapper(IListAdapter adapter) { mDataSetObserver = new StickyGridHeadersListAdapterWrapperObserver(this); mDelegate = adapter; if (adapter != null) { adapter.RegisterDataSetObserver(mDataSetObserver); } }
public AdapterWrapper(Context context, object adapterDelegate) { m_Context = context; Delegate = adapterDelegate as IStickyListHeadersAdapter; if(Delegate == null) throw new NullReferenceException("Adapter Delegate must be of type IStickyListHeadersAdapter"); m_DataSetObserver = new AdapterWrapperObserver(this, m_HeaderCache); Delegate.RegisterDataSetObserver(m_DataSetObserver); }
public override void RegisterDataSetObserver(DataSetObserver observer) { if (_observeCount == 0 && _incc != null) { _incc.CollectionChanged += OnCollectionChanged; } _observeCount++; base.RegisterDataSetObserver(observer); }
public AdapterWrapper(Context context, object adapterDelegate) { m_Context = context; Delegate = adapterDelegate as IStickyListHeadersAdapter; if (Delegate == null) { throw new NullReferenceException("Adapter Delegate must be of type IStickyListHeadersAdapter"); } m_DataSetObserver = new AdapterWrapperObserver(this, m_HeaderCache); Delegate.RegisterDataSetObserver(m_DataSetObserver); }
/// <summary> /// Добавление нового потребителя данных /// </summary> /// <param name="observer"></param> public override void RegisterDataSetObserver(DataSetObserver observer) { //Вызываем метод базового класса base.RegisterDataSetObserver(observer); //Увеличиваем счётчик потребителей _observersCount += 1; //Если подключается первый потребитель if (_observersCount == 1) { //Вызываем выполнение загрузки элементов в отдельном потоке ThreadPool.QueueUserWorkItem((a) => { //Список загруженных элементов List <ELEMENT> items; //Вызываем метод загрузки элементов if (LoadItems(0, 100, out items)) { //Если успешно загрузили //Блокируем доступ lock (_items) { //Добавляем новые элементы в общий список _items.InsertRange(0, items); } //Вызываем код в основном потоке Application.SynchronizationContext.Post((state) => { //Сигнализируем потребителям об обновлении данных NotifyDataSetChanged(); }, null); } //Если была ошибка при загрузке else { //Вызываем код в основном потоке Application.SynchronizationContext.Post((state) => { //Сигнализируем потребителям о недоступности данных NotifyDataSetInvalidated(); }, null); } }); } }
protected override void Dispose(bool disposing) { try { if (disposing) { if (null != _gestureDetector) { _gestureDetector.Dispose(); _gestureDetector = null; } if (null != Scroller) { Scroller.Dispose(); Scroller = null; } if (null != _dataSetObserver) { _dataSetObserver.Dispose(); _dataSetObserver = null; } if (null != _velocityTracker) { _velocityTracker.Recycle(); _velocityTracker = null; } } // Needs to be last, otherwise we can't access the other fields to dispose them. base.Dispose(disposing); } catch (Exception e) { this.Log().ErrorFormat("Failed to dispose view", e); } }
public void UnregisterDataSetObserver(DataSetObserver observer) { throw new NotImplementedException(); }
public void UnregisterDataSetObserver(DataSetObserver observer) { if (_adapter == null) return; _adapter.UnregisterDataSetObserver(observer); }
public void UnregisterDataSetObserver(DataSetObserver observer) => Adapter.UnregisterDataSetObserver(observer);
public void RegisterDataSetObserver(DataSetObserver observer) => Adapter.RegisterDataSetObserver(observer);
public override void UnregisterDataSetObserver(DataSetObserver observer) { base.UnregisterDataSetObserver(observer); WrappedAdapter.UnregisterDataSetObserver(observer); }
public override void UnregisterDataSetObserver(DataSetObserver observer) { observers.Remove(observer); }
private void Initialize(Context context) { if (!_initialized) { m_TouchSlop = ViewConfiguration.Get(this.Context).ScaledTouchSlop; m_DataSetObserver = new StickyListHeadersListViewObserver(this); m_AdapterHeaderAdapterClickListener = new AdapterHeaderAdapterClickListener(OnHeaderListClickListener, this); base.SetOnScrollListener(this); //null out divider, dividers are handled by adapter so they look good with headers base.Divider = null; base.DividerHeight = 0; m_ViewConfiguration = ViewConfiguration.Get(context); m_ClippingToPadding = true; try { //reflection to get selector ref var absListViewClass = JNIEnv.FindClass(typeof(AbsListView)); var selectorRectId = JNIEnv.GetFieldID(absListViewClass, "mSelectorRect", "()Landroid/graphics/Rect"); var selectorRectField = JNIEnv.GetObjectField(absListViewClass, selectorRectId); m_SelectorRect = Java.Lang.Object.GetObject<Rect>(selectorRectField, JniHandleOwnership.TransferLocalRef); var selectorPositionId = JNIEnv.GetFieldID(absListViewClass, "mSelectorPosition", "()Ljava/lang/Integer"); m_SelectorPositionField = JNIEnv.GetObjectField(absListViewClass, selectorPositionId); } catch (Exception) { } _initialized = true; } }
public void UnregisterDataSetObserver (DataSetObserver observer) { observer = null; }
public override void UnregisterDataSetObserver(DataSetObserver observer) { base.UnregisterDataSetObserver(observer); }
public void RegisterDataSetObserver(DataSetObserver observer) { _observers.Add(observer); }
//@Override public override void UnregisterDataSetObserver(DataSetObserver observer) { mDecoratedBaseAdapter.UnregisterDataSetObserver(observer); }
private void initView() { mDataSetObserver = new DataSetObserverImpl(this); mOnScrollListener = new OnScrollListenerImpl(this); SetOnScrollListener(mOnScrollListener); mTouchSlop = ViewConfiguration.Get (Context).ScaledTouchSlop; initShadow(true); }
public void UnregisterDataSetObserver(DataSetObserver observer) { }
public override void RegisterDataSetObserver(DataSetObserver observer) { _observer = observer; base.RegisterDataSetObserver(observer); WrappedAdapter.RegisterDataSetObserver(observer); }
public override void RegisterDataSetObserver(DataSetObserver observer) { observers.Add(observer); }
public void UnregisterDataSetObserver(DataSetObserver observer) { _observers.Remove(observer); }
public NativeHorizontalListView(Android.Content.Context context, IAttributeSet attrs, int defStyle) : base(context, attrs, defStyle) { InitView(); _dataSetObserver = new DataObserver(this); }
private void init(Context context, IAttributeSet attrs) { mInternalDataSetObserver = new CircleDataSetObserver(this); handleTypedArray(context, attrs); checkIndicatorConfig(context); }
public NativeHorizontalListView(IntPtr handle, JniHandleOwnership transfer) : base(handle, transfer) { InitView(); _dataSetObserver = new DataObserver(this); }
public void RegisterDataSetObserver (DataSetObserver observer) { observer = observer; }