2011-11-30 12 views
0

OK、AndroidとC#の新機能です。実際に今日から始めました。私は通常VBでプログラムを作成しますが、とにかくMonoDroidを試していましたが、いくつかの小さなチュートリアルの後に私は何かを試しました。私が望むのは、キャンバスに2つのラジオボタンがあることです。無効化されたボタンは、ラジオボタンの1つをクリックすると有効になります。面白いことに、ラジオボタンをコーディングして、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); }; 
    } 

は、これが第二のキャンバスが表示されます。私は別のボタン 'バック'を持っています。そのボタンを押すと、最初の画面に移動しますが、上記のコードは機能しません。私は2つのラジオボタンを押して、両方がチェックされ、ボタンはどちらも有効にしません。なぜこれが起こるのですか?私はこのことについて非常に新しいことを覚えておいてください。 lol 何か助けていただければ幸いです。

ありがとうございました。

+0

onPauseでクリックハンドラを切り離していますか? – brianestey

+0

Err ..もう一度来ますか?笑私はこれに非常に新しいです私はあなたが何を意味するか分かりません。それは私が現時点で持っているすべてのコードです。ごめんなさい。助けてくれてありがとう=]。 – user959631

+0

@soundがあなたの問題を発見したと思います。 – brianestey

答えて

1

新しいレイアウト(SetContentView(Resource.Layout.Secondry))を使用すると、OnCreate(Bundle bundle)で初期化されたすべてのアタッチされたイベントハンドラが失われます。この問題を解決するには、InitializeMainView()InitializeSecondView()のような2つのメソッドを作成し、選択されたレイアウトのイベントを制御するハンドラをアタッチする必要があります。そしてレイアウトを変更した後は、選択したビューのinitメソッドを呼び出すだけです。

しかし、私は最善の解決策は、別の別のアクティビティを2番目のビューに作成することだと思います。

+0

私はほとんどあなたを理解しています。私はWindowsフォームに慣れています。新しい形のような新しい活動はありますか?そして私は新しい活動をどのように呼びますか?私はそれを正確にする方法を本当に理解していない。 = S lol。ああ、私がラジオボタンでやっていることは正しいのですか、これを行うにはもう一つの良い方法がありますか?ありがとう – user959631

+1

あなたはそのような基本を知っていなくても、あなたに何を伝えるべきか分からない。このチュートリアルを見て、知識を得ることをお勧めします。それは初めに私を助けたhttp://vimeo.com/20405301 – mironych

+0

OK、笑、リンクありがとう。しかし、私はMonoDroidを始めたばかりだと言ったように。とにかくおかげさま。 – user959631

関連する問題