public override void OnBackPressed()
        {
            if (App.CurrentFragment is MainFragment)
            {
                //if (doubleBackToExitPressedOnce)
                //{
                //    FinishAffinity();
                //    return;
                //}

                //this.doubleBackToExitPressedOnce = true;
                //Toast.MakeText(this, "Jos jednom za izlaz!", ToastLength.Short).Show();

                //new Handler().PostDelayed(() =>
                //{
                //    doubleBackToExitPressedOnce = false;
                //}, 2000);
            }
            else if (App.CurrentFragment is MathFragment || App.CurrentFragment is MathWithAnswersFragment || App.CurrentFragment is ReadingAndWritingFragment)
            {
                //FragmentManager.PopBackStack();
                PlayFragment pf = new PlayFragment();
                FragmentManager.BeginTransaction().Replace(App.fragmentContainer.Id, pf, "play").Commit();
                App.CurrentFragment = pf;

                //MainFragment mf = new MainFragment();
                //FragmentManager.BeginTransaction().Replace(App.fragmentContainer.Id, mf, "main_fragment").Commit();
                //App.CurrentFragment = mf;
            }
            else if (App.CurrentFragment is GuessingImageFragment)
            {
                ReadingAndWritingFragment rawf = new ReadingAndWritingFragment();
                FragmentManager.BeginTransaction().Replace(App.fragmentContainer.Id, rawf, "reading_and_writing").AddToBackStack(null).Commit();
                App.CurrentFragment = rawf;
            }
            else if (App.CurrentFragment is PlayFragment || App.CurrentFragment is RecordFragment)
            {
                MainFragment mf = new MainFragment();
                FragmentManager.BeginTransaction().Replace(App.fragmentContainer.Id, mf, "main_fragment").Commit();
                App.CurrentFragment = mf;
            }
        }
示例#2
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
            SetContentView(Resource.Layout.ActivityMain);
            Android.Support.V4.App.FragmentManager fm = SupportFragmentManager;
            playFragment = (PlayFragment)fm.FindFragmentById(Resource.Layout.FragmentPlay);
            if (playFragment == null)
            {
                playFragment = new PlayFragment();
                Android.Support.V4.App.FragmentTransaction ft = fm.BeginTransaction();
                ft.Add(Resource.Id.main_container, playFragment);
                ft.Commit();
            }
            toolbarFragment = (ToolBarFragment)fm.FindFragmentById(Resource.Layout.FragmentToolBar);
            if (toolbarFragment == null)
            {
                toolbarFragment = new ToolBarFragment();
                Android.Support.V4.App.FragmentTransaction ft = fm.BeginTransaction();
                ft.Add(Resource.Id.toolbar_container, toolbarFragment);
                ft.Commit();
            }

            chordRecognizer = new ChordRecognizer();

            MIDIStyle midiStyle = new MIDIStyle();

            midiStyle.LoadStyle("ddd");
            mplayer                       = new MIDIPlayer(/*this,*/ midiStyle);
            mplayer.OnTactEvent          += (object sender, OnTactEventArgs e) => playFragment.SetTempoAndTact(e.CurrentTempo, e.CurrentTact);
            mplayer.OnChordChangeEvent   += () => OnChordChanged();
            mplayer.OnSectionChangeEvent += () => OnSectionChanged();

            mplayer.Tracks = midiStyle.MidiSection.Tracks;
            mplayer.Start();
        }