public static View GetView(this ViewGroup viewGroup, int viewId) { View targetView = viewGroup.FindViewById(viewId); if (targetView != null) { return(targetView); } for (int i = 0; i < viewGroup.ChildCount; i++) { ViewGroup nextViewGroup = viewGroup.GetChildAt(i) as ViewGroup; if (nextViewGroup != null) { return(nextViewGroup.GetView(viewId)); } } return(null); }
public View GetView(Activity activity) { ViewGroup activityRoot = activity.Window.DecorView.FindViewById(Android.Resource.Id.Content) as ViewGroup; // .FindViewById(Android.Resource.Id.Content) as ViewGroup; if (activityRoot == null) { return(null); } if (activityRoot.ChildCount == 0) { activityRoot = activityRoot.RootView as ViewGroup; } if (activityRoot == null) { return(null); } _view = activityRoot.GetView(ViewId); if (_view != null && _retrieveCount == 0) { _retrieveCount++; OriginalVisibility = _view.Visibility; } return(_view); }