//@Override
                public bool OnPreDraw()
                {
                    inst2.mWrapper.getListView().ViewTreeObserver.RemoveOnPreDrawListener(this);

                    View switchView = inst2.getViewForId(mSwitchId);

                    if (switchView != null)
                    {
                        switchView.TranslationY = mTranslationY;
                        switchView.Animate().TranslationY(0).Start();
                    }

                    //assert mMobileView != null;
                    inst2.mMobileView.Visibility = ViewStates.Visible;
                    inst2.mMobileView            = inst2.getViewForId(inst2.mMobileItemId);
                    //assert mMobileView != null;
                    inst2.mMobileView.Visibility = ViewStates.Invisible;
                    return(true);
                }
            /**
             * Determines if the listview scrolled up enough to reveal a new cell at the
             * top of the list. If so, switches the newly shown view with the mobile view.
             */
            private void checkAndHandleFirstVisibleCellChange()
            {
                if (minst.mHoverDrawable == null || minst.mAdapter == null || mCurrentFirstVisibleItem >= mPreviousFirstVisibleItem)
                {
                    return;
                }

                int position = minst.getPositionForId(minst.mMobileItemId);

                if (position == AdapterView.InvalidPosition)
                {
                    return;
                }

                long switchItemId = position - 1 - minst.mWrapper.getHeaderViewsCount() >= 0 ? minst.mAdapter.GetItemId(position - 1 - minst.mWrapper.getHeaderViewsCount()) : INVALID_ID;
                View switchView   = minst.getViewForId(switchItemId);

                if (switchView != null)
                {
                    minst.switchViews(switchView, switchItemId, -switchView.Height);
                }
            }
                //@Override
                public bool OnPreDraw()
                {
                    nestinst.mWrapper.getListView().ViewTreeObserver.RemoveOnPreDrawListener(this);

                    View switchView = nestinst.getViewForId(mSwitchId);

                    if (switchView != null)
                    {
                        switchView.TranslationY = mTranslationY;
                        switchView.Animate().TranslationY(0).Start();
                    }

                    mPreviousMobileView.Visibility = ViewStates.Visible;

                    if (nestinst.mMobileView != null)
                    {
                        nestinst.mMobileView.Visibility = ViewStates.Invisible;
                    }
                    return(true);
                }