protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.PlayerDetailActivity); //The right way to pass/ recieve params to an Activity //https://stackoverflow.com/a/7325248 Player player = null; if (Intent.Extras != null) { player = Newtonsoft.Json.JsonConvert.DeserializeObject <Player>(Intent.Extras.GetString(Constants.TagPlayer)); } var fragment = PlayerDetailFragment.NewInstance(player); SupportFragmentManager.BeginTransaction().Replace(Resource.Id.itemDetailFrameLayout, fragment).Commit(); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.PlayerListActivity); _players = new PlayersServices().GetPlayers().ToList(); var playerListFragment = PlayerListFragment.NewInstance(_players); playerListFragment.PlayerClicked += PlayerListFragmentOnPlayerClicked(); //"Load" fragment into "view" SupportFragmentManager.BeginTransaction().Replace(Resource.Id.listViewFrameLayout, playerListFragment) .Commit(); if (HasPlayerDetailFragment) { var detailFragment = PlayerDetailFragment.NewInstance(_players.First()); SupportFragmentManager.BeginTransaction().Replace(Resource.Id.itemDetailFrameLayout, detailFragment) .Commit(); } }
private EventHandler <Player> PlayerListFragmentOnPlayerClicked() { return((sender, player) => { if (!HasPlayerDetailFragment) { var intent = new Intent(this, typeof(PlayerDetailActivity)); ////The right way to pass/ recieve params to an Activity intent.PutExtra(Constants.TagPlayer, JsonConvert.SerializeObject(player)); StartActivity(intent); } else { var detailFragment = PlayerDetailFragment.NewInstance(player); //var arguments = new Bundle(); //arguments.PutString(Constants.TagPlayer, Newtonsoft.Json.JsonConvert.SerializeObject(player)); //detailFragment.Arguments = arguments; SupportFragmentManager.BeginTransaction().Replace(Resource.Id.itemDetailFrameLayout, detailFragment) .Commit(); } }); }