Mengapa saya mendapatkan Pengecualian Referensi Null yang menugaskan metode delegasi ke pengendali peristiwa Button.OnClick? [duplikat]

Pertanyaan ini berbeda dari duplikat yang ditandai karena tidak merinci contoh spesifik delegasi ini.

Saya ingin menambahkan metode delegasi dengan rapi ke tombol saya pada acara klik. Ini dilakukan dengan menggunakan C# di Xamarin. Saat menjalankan aplikasi di emulator saya, saya mendapatkan pengecualian yang tidak tertangani di bawah ini.

System.NullReferenceException: Object reference not set to an instance of an object.

Di bawah ini adalah kode yang saya gunakan

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

Terima kasih


person Jim    schedule 10.08.2017    source sumber
comment
Di baris kode manakah Anda mendapatkan NullReferenceException?   -  person Dennis Larisch    schedule 10.08.2017
comment
Tombol Mulai.Klik   -  person Jim    schedule 10.08.2017
comment
Jika Anda men-debugnya, apakah startButton dan stopButton terisi dengan benar? Sepertinya salah satunya adalah nol. Atau di baris mana Anda menerima kesalahan ini?   -  person M. Pipal    schedule 10.08.2017
comment
Kemudian fungsi FindViewById<Button>(Resource.Id.startAudio); mengembalikan null   -  person Dennis Larisch    schedule 10.08.2017
comment
silakan lakukan SetContentView (Resource.Layout.Main); pernyataan sebelum tombol temukan.   -  person Ziyad Godil    schedule 10.08.2017
comment
Terima kasih semua. Anda membantu saya mengetahui bahwa sebenarnya bukan delegasi yang tidak ditentukan tetapi ternyata tombolnya nol.   -  person Jim    schedule 10.08.2017