Этот вопрос отличается от отмеченного дубликата, поскольку он не содержит подробностей об этом конкретном примере делегатов.
Я хотел бы аккуратно добавить метод делегата к моей кнопке в событиях щелчка. Это делается с помощью C# в Xamarin. При запуске приложения в моем эмуляторе я получаю следующее необработанное исключение.
System.NullReferenceException: Object reference not set to an instance of an object.
Ниже приведен код, который я использую
using System;
using Android.App;
using Android.Widget;
using Android.OS;
namespace AudioTour
{
[Activity(Label = "AudioTour", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Find Buttons
Button startButton = FindViewById<Button>(Resource.Id.startAudio);
Button stopButton = FindViewById<Button>(Resource.Id.stopAudio);
// Set Screen
SetContentView (Resource.Layout.Main);
// Assign Delegate Methods to Buttons
startButton.Click += StartAudio;
stopButton.Click += StopAudio;
}
// Start Audio Method
void StartAudio(object sender, EventArgs ea)
{
// Do Code
Console.WriteLine("Starting Audio");
}
// Stop Audio Method
void StopAudio(object sender, EventArgs ea)
{
// Do Code
Console.WriteLine("Stopping Audio");
}
}
}
Спасибо
startButton
иstopButton
? Похоже, что один из них нулевой. Или на какой строке вы получили эту ошибку? - person M. Pipal   schedule 10.08.2017FindViewById<Button>(Resource.Id.startAudio);
возвращает null - person Dennis Larisch   schedule 10.08.2017