我正在使用我在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";
}
}
}
答案 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
对象。