Esempio n. 1
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            SetContentView(Resource.Layout.SendDataToFragment);

            var sendDataToFragment = FindViewById <Button>(Resource.Id.sendDataToFragment);

            sendDataToFragment.Click += (sender, args) =>
            {
                //TODO: Start a new transaction
                using (var transaction = FragmentManager.BeginTransaction())
                {
                    //TODO: use animations to transition between fragments
                    transaction.SetCustomAnimations(
                        Android.Resource.Animator.FadeIn,
                        Android.Resource.Animator.FadeOut);

                    var randomColorValue = new Random();
                    var randomColor      = new Color(
                        randomColorValue.Next(0, 255),
                        randomColorValue.Next(0, 255),
                        randomColorValue.Next(0, 255));

                    var fragmentToAdd = FragmentToAdd.CreateFragmentToAdd(randomColor);


                    //TODO: replace the fragment on click
                    transaction.Replace(Resource.Id.container, fragmentToAdd);

                    //Commit your changes
                    transaction.Commit();
                }
            };
        }
		//TODO: Use a builder method to create a fragment with data passed to it
		public static FragmentToAdd CreateFragmentToAdd (Color backgroundColor)
		{
			var fragmentToAdd = new FragmentToAdd {
				Arguments = new Bundle ()
			};

			fragmentToAdd.Arguments.PutInt (ArgumentBackgroundColorRed, backgroundColor.R);
			fragmentToAdd.Arguments.PutInt (ArgumentBackgroundColorGreen, backgroundColor.G);
			fragmentToAdd.Arguments.PutInt (ArgumentBackgroundColorBlue, backgroundColor.B);

			return fragmentToAdd;
		}
        //TODO: Use a builder method to create a fragment with data passed to it
        public static FragmentToAdd CreateFragmentToAdd(Color backgroundColor)
        {
            var fragmentToAdd = new FragmentToAdd {
                Arguments = new Bundle()
            };

            fragmentToAdd.Arguments.PutInt(ArgumentBackgroundColorRed, backgroundColor.R);
            fragmentToAdd.Arguments.PutInt(ArgumentBackgroundColorGreen, backgroundColor.G);
            fragmentToAdd.Arguments.PutInt(ArgumentBackgroundColorBlue, backgroundColor.B);

            return(fragmentToAdd);
        }
Esempio n. 4
0
        private void SendDataToFragmentOnClick(object sender, EventArgs eventArgs)
        {
            var displayDetailActivity = Activity as IDisplayDetail;

            if (displayDetailActivity != null && displayDetailActivity.CanDisplayDetail)
            {
                var randomColorValue = new Random();
                var randomColor      = new Color(
                    randomColorValue.Next(0, 255),
                    randomColorValue.Next(0, 255),
                    randomColorValue.Next(0, 255));

                displayDetailActivity.DisplayDetail(FragmentToAdd.CreateFragmentToAdd(randomColor));
            }
            else
            {
                StartActivity(new Intent(this.Activity, typeof(SendDataToFragmentActivity)));
            }
        }