2011-11-30 104 views
0

好的,我對Android和C#很新。事實上,今天剛剛開始。我通常在VB中編程,但無論如何我正在嘗試使用MonoDroid,並且在幾個小教程之後,我嘗試了一些我自己的嘗試。我想要的是畫布上有兩個單選按鈕。而且一個禁用的按鈕,只有當您點擊其中一個單選按鈕時纔會啓用。有趣的是,你必須編寫單選按鈕來取消選中另一個單選按鈕,而不像Windows窗體,或者我錯過了某些東西。但我管理的。當你按下'Next'按鈕時,它會進入下一頁。如何讓程序循環到頂部?

這是我上面的代碼:

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); }; 
    } 

這帶來了第二畫布。我在哪裏有另一個按鈕「返回」。當我按下該按鈕時,它會將我帶到第一個屏幕,但上面的代碼不起作用。我按下兩個單選按鈕,兩者都選中,並且按鈕也不啓用。爲什麼會發生?記得我對這個抱歉很新。大聲笑 任何幫助,非常感謝。

謝謝。

+0

您是否在onPause中分離您的Click處理程序? – brianestey

+0

Err ..再來一次?大聲笑我對此很新,我不知道你的意思。這就是我目前的所有代碼。抱歉。並感謝您的幫助=]。 – user959631

+0

我認爲@sound已經找到了你的問題。 – brianestey

回答

1

錯誤是,當您使用新佈局(SetContentView(Resource.Layout.Secondry))時,您已丟失在OnCreate(Bundle bundle)中初始化的所有附加事件處理程序。爲了解決這個問題,你需要創建2個方法,如InitializeMainView()InitializeSecondView(),其中附加處理程序來控制選定佈局上的事件。更改佈局後,您只需調用所選視圖的init方法即可。

但我認爲最好的解決方案將是爲第二個視圖創建新的獨立活動。

+0

嗯我幾乎理解你。我習慣於Windows窗體。那麼像新形式這樣的新活動呢?我將如何稱呼新的活動?我真的不知道如何確切地做到這一點。 = S哈哈。哦,我正在做的單選按鈕是正確的還是有另一種更好的方法來做到這一點?謝謝 – user959631

+1

不知道該告訴你什麼,如果你甚至不知道這樣的基本知識。我建議你看這個教程來獲得一些知識。它幫助我開始http://vimeo.com/20405301 – mironych

+0

好吧,大聲笑,感謝您的鏈接。但就像我說的,我剛開始使用MonoDroid。反正謝謝。 – user959631