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