コード例 #1
0
        public override void Execute(Activity activity)
        {
            Intent intent = new Intent(activity, ActivityStack.ActivityType);

            if (ActivityStack.ShouldClearHistory)
            {
                intent.SetFlags(ActivityFlags.ClearTask | ActivityFlags.NewTask);
            }

            if (ViewModel != null)
            {
                intent.PutExtra(NavigationConstants.VIEWMODEL_LINK_PARAMETER_CODE, NavigationParameterContainer <TViewModel> .CreateNavigationParameter(ViewModel));
            }

            if (FragmentStacksToPush.Count > 0)
            {
                var operation = new FragmentPushOperation <TViewModel>(ActivityStack);
                operation.FragmentStacksToPush.AddRange(FragmentStacksToPush);
                intent.PutExtra(NavigationConstants.FRAGMENT_START_PARAMETER_CODE, NavigationParameterContainer <TViewModel> .CreateNavigationParameter(new DeferredNavigationAction(operation)));
            }

            activity.StartActivity(intent);
        }