2017-06-10 58 views
0

我正在使用visual studio 2017中的第一個Android Xamarin程序進行測試,並添加了一個textview,並切換到主視圖。它建立良好,但是當我點擊開關時,我得到一個未處理的例外,它沒有提供任何其他細節。爲什麼拋出異常,它是什麼以及我做錯了什麼?這個簡單的Xamarin Android程序中未處理的異常

using Android.App; 
using Android.OS; 
using Android.Views; 
using Android.Widget; 

namespace TestAndroidApp 
{ 
    [Activity(Label = "TestAndroidApp", MainLauncher = true, Icon = "@drawable/icon")] 
    public class MainActivity : Activity 
    { 
     protected override void OnCreate(Bundle bundle) 
     { 
      base.OnCreate(bundle); 

      // Set our view from the "main" layout resource 
      SetContentView(Resource.Layout.Main); 
     } 

     public void setActivatedLabel(View v) 
     { 
      var sw = (Switch)Resource.Id.switchActivate; 
      ((TextView)Resource.Id.textActivated).Text = sw.Checked ? "On" : "Off";  
     } 
    } 
} 

回答

0

您需要使用FindViewById由資源標識符檢索對象:

var sw = FindViewById<Switch>(Resource.Id.switchActivate); 
var textView = FindViewById<TextView>(Resource.Id.textActivated); 
textView.Text = sw.Checked ? "On" : "Off"; 

sw在這種情況下,現在是由switchActivate ID在佈局文件中引用的Switch對象通過SetContentView方法加載/充氣。

+0

工作過!我還在'checkedChanged'的'onCreate'中添加了一個事件處理程序 – user3791372

相關問題