这个简单的Xamarin Android程序中未处理的异常

时间:2017-06-10 14:34:13

标签: android xamarin xamarin.android

我正在使用我在Visual Studio 2017中的第一个Android Xamarin程序进行测试,并添加了一个textview,并切换到主视图。它构建良好,但是当我单击开关时,我得到一个未处理的异常,没有提供其他细节。为什么抛出异常,它是什么以及我做错了什么?

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

1 个答案:

答案 0 :(得分:0)

您需要使用<?php echo通过资源标识符检索对象:

FindViewById
在这种情况下,

var sw = FindViewById<Switch>(Resource.Id.switchActivate); var textView = FindViewById<TextView>(Resource.Id.textActivated); textView.Text = sw.Checked ? "On" : "Off"; 现在将是布局文件中由sw方法加载/夸大的Switch id引用的switchActivate对象。