我如何回到代码的顶部?

时间:2016-04-28 19:32:06

标签: c# android xamarin.android

我一直在学习C#,我正在创建一个应用程序。

我已经尝试过goto语句,但标签超出范围"我希望它能将我发回原始布局,我发现我需要回到代码的顶部。

            namespace TheAppOfJack
            {
            [Activity(Label = "The App Of Jack", MainLauncher = true, Icon = "@drawable/icon")]
            public class MainActivity : Activity
            {

            int count = 1;

            protected override void OnCreate(Bundle bundle)
            {

            base.OnCreate(bundle);

            SetContentView(Resource.Layout.Main);

            Button button1 = FindViewById<Button>(Resource.Id.MyButton);
            button1.Click += delegate { button1.Text = string.Format("You have clicked this random button {0} times ( ͡° ͜ʖ ͡°)", count++); };

            Button button2 = FindViewById<Button>(Resource.Id.button1);
            button2.Click += delegate
            {
            SetContentView(Resource.Layout.Gallery);
            Button button3 = FindViewById<Button>(Resource.Id.back);
            button3.Click += delegate { SetContentView(Resource.Layout.Main); };

            Button button4 = FindViewById<Button>(Resource.Id.next1);
            button4.Click += delegate
            {
            SetContentView(Resource.Layout.Gallery2);
            button3.Click += delegate { SetContentView(Resource.Layout.Main); };
            Button button5 = FindViewById<Button>(Resource.Id.next2);
            button5.Click += delegate
            {

            SetContentView(Resource.Layout.Gallery3);
            Button button6 = FindViewById<Button>(Resource.Id.home);
            button6.Click += delegate {

            //this is where i want the code to send me back to the top };
            };
            };
            };
            }
            }
            }

1 个答案:

答案 0 :(得分:0)

您尝试的方式不是Android的工作方式。您无法在“布局”之间导航,而是在具有与其关联的布局的活动之间导航。此导航使用StartActivity()方法完成。

MainActivity是您的应用启动时将显示的第一个活动。它的关联布局(此处命名为Main)应该只有一个按钮,可以将您带到下一个屏幕。假设其ID为btnForActivity2OnCreate的{​​{1}}将是这样的:

MainActivity

protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.Main); Button btn = FindViewById<Button>(Resource.Id.btnForActivity2); btn.Click += delegate { StartActivity (typeof(MyActivity2)); }; } 课程中,假设您想要两个按钮带您进行两项新活动。假设一个活动被称为MyActivity2,另一个被称为MyActivity3。在这种情况下,MyActivity4的{​​{1}}方法将是这样的:

OnCreate

这是基本导航在Android中的工作方式。

顺便说一下,您可能已经注意到我没有谈过后退按钮。这是因为我从未明确地实现它,因为与iOS设备不同,Android设备有一个专门用于此目的的按钮。但是,如果您必须有一个按钮,可以将您带回上一个活动,那么只需调用MyActivity2即可。在为活动调用protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.MyActivity2Layout); Button btn = FindViewById<Button>(Resource.Id.btnForActivity3); btn.Click += delegate { StartActivity (typeof(MyActivity3)); }; btn = FindViewById<Button>(Resource.Id.btnForActivity4); btn.Click += delegate { StartActivity (typeof(MyActivity4)); }; } 后,它将从活动堆栈的顶部删除,下面的活动将变为可见。