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;
            }
        }
        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;
            }
        }