如何让程序循环到顶部?

时间:2011-11-30 00:27:35

标签: c# android xamarin.android

好的,我是Android和C#的新手。事实上刚开始今天。我通常用VB编程,但无论如何我都在尝试使用MonoDroid,经过几个小教程我自己尝试了一些东西。我想要的是画布上有两个单选按钮。还有一个禁用按钮,只有在您单击其中一个单选按钮时才会启用它。有趣的是,你需要编码单选按钮以便在点击另一个单选按钮时取消选中,这与Windows窗体不同,或者我错过了某些内容。但我做到了。当您按下“下一步”按钮时,它将转到下一页。

这是我上面的代码:

    protected override void OnCreate(Bundle bundle)
    {

        base.OnCreate(bundle);
        // Set our view from the "main" layout resource
        SetContentView(Resource.Layout.Main);
        RadioButton radSilent1 = FindViewById<RadioButton>(Resource.Id.radSilent);
        RadioButton radVibrate1 = FindViewById<RadioButton>(Resource.Id.radVibrate);
        Button button1 = FindViewById<Button>(Resource.Id.btnNext);
        radSilent1.Click += delegate
        {
            button1.Enabled = true;
            if (radSilent1.Checked == true)
                radVibrate1.Checked = false;
            else if (radVibrate1.Checked == true)
                radSilent1.Checked = false;
            {
            }
        };
        radVibrate1.Click += delegate
        {
            button1.Enabled = true;
            if (radVibrate1.Checked == true)
                radSilent1.Checked = false;
            else if (radSilent1.Checked == true)
                radVibrate1.Checked = false;
            {
            }
        };
        // Set our view from the "secondry" layout resource
        button1.Click += delegate { SetContentView(Resource.Layout.Secondry); };
    }

这会打开第二个画布。我有另一个按钮'返回'。当我按下该按钮时,它会将我带到第一个屏幕,但上面的代码不起作用。我按下两个单选按钮,两个都被选中,按钮也没有启用。为什么会这样?请记住,我很抱歉这是对此感到非常新大声笑 非常感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:1)

错误是当您使用新布局(SetContentView(Resource.Layout.Secondry))时,您丢失了在OnCreate(Bundle bundle)中初始化的所有附加事件处理程序。要解决此问题,您需要创建两个类似InitializeMainView()InitializeSecondView()的方法,其中附加处理程序来控制所选布局上的事件。更改布局后,只需为选定视图调用init方法。

但我认为最好的解决方案是为第二种观点创建新的单独活动。