title: Android Kotlin findViewById must not be null
body: <p>We have created a custom alert dialog that was used in a Java project by converting it to Kotlin The error posted below 
  java.lang.IllegalStateException: findViewById(R.id.btnYES) must not be null</p>
  
  <p>The error source is eluding us ! We have looked at a number of posts and tried a few with no results. The Activity structure is as follows PageTwoActivity has its own XML file with two buttons attached. The custom dialog has its own xml file
  Here is the PageTwoActivity code. Without the two buttons for PageTwoActivity 
  NO name conflicts</p>
  
  <pre><code>import android.app.Dialog
  import android.content.Intent
  import android.support.v7.app.AppCompatActivity
  import android.os.Bundle
  import android.view.View
  import android.widget.Button
  import android.widget.EditText
  import android.widget.Toast
  
  class PageTwoActivity : AppCompatActivity() {
  internal lateinit var btnBACK: Button
  internal lateinit var btnDIALOG: Button
  
  internal lateinit var btnYES: Button
  internal lateinit var btnNO: Button
  internal lateinit var etStudentName:EditText
  var EnteredText: String = ""
  
  override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)
      setContentView(R.layout.activity_page_two)
  
      btnBACK = findViewById(R.id.btnBACK)
      btnDIALOG = findViewById(R.id.btnDIALOG)
  
      btnYES = findViewById(R.id.btnYES)
      btnNO = findViewById(R.id.btnNO)
      etStudentName = findViewById(R.id.etStudentName)
      addListenerOnButtonBACK()
      addListenerOnButtonDIALOG()
  
      Toast.makeText(this@PageTwoActivity, "You are on Page Two", 
      Toast.LENGTH_LONG).show()
  
  }// END onCreate
  </code></pre>
  
  <p>Here is the code for the Custom Dialog</p>
  
  <pre><code>    private fun doCustom() {
  
      val openDialog = Dialog(this)
      openDialog.setContentView(R.layout.custom_dialog)
      //val btnYES = view!!.findViewById&lt;Button&gt;(R.id.btnYES)
      //val btnNO = openDialog.findViewById(R.id.btnNO)
      //val etStudentName = openDialog.findViewById(R.id.etStudentName)
      openDialog.setCancelable(false)
  
  
      btnYES.setOnClickListener(View.OnClickListener {
          EnteredText = etStudentName.getText().toString().trim({ it &lt;= ' ' })
          if (EnteredText.isEmpty()) {
              Toast.makeText(applicationContext, "Enter Your Name\n\n OR Click 
       DECLINE", Toast.LENGTH_LONG).show()
              return@OnClickListener
          }
          Toast.makeText(applicationContext, "Registered $EnteredText", 
          Toast.LENGTH_SHORT).show()
          openDialog.dismiss()
      })
  
      btnNO.setOnClickListener(View.OnClickListener {
          EnteredText = ""
          val intent = Intent(this@PageTwoActivity, MainActivity::class.java)
          startActivity(intent)
          openDialog.dismiss()
      })
      openDialog.show()
  }
  </code></pre>
  
  <p>The XML file code for the custom dialog</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="400dp"
  android:layout_height="200dp"
  android:background="@color/color_lightGray"&gt;
  
  &lt;TextView
      android:id="@+id/tvDAT"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginLeft="70dp"
      android:layout_marginTop="30dp"
      android:text="Enter First and Last Name"
      android:textColor="@color/color_Black"
      android:textSize="22sp"
      android:textStyle="bold" /&gt;
  
  &lt;EditText
      android:id="@+id/etStudentName"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginLeft="20dp"
      android:layout_marginTop="80dp"
      android:ems="14"
      android:gravity="center"
      android:inputType="textPersonName"
      android:text=""
      android:textColor="@color/color_Black"
      android:textSize="20sp"
      android:textStyle="bold" /&gt;
  
  &lt;Button
      android:id="@+id/btnYES"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginLeft="250dp"
      android:layout_marginTop="120dp"
      android:background="@color/color_Transparent"
      android:text="TAKE QUIZ"
      android:textColor="@color/color_deepBlue"
      android:textSize="22sp"
      android:textStyle="bold" /&gt;
  
  &lt;Button
      android:id="@+id/btnNO"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginLeft="22dp"
      android:layout_marginTop="120dp"
      android:background="@color/color_Transparent"
      android:text="DECLINE"
      android:textColor="@color/color_deepBlue"
      android:textSize="22sp"
      android:textStyle="bold" /&gt;
  
     &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p>So the question is how do we FIX the error?
  Should we be inflating the custom dialog xml?
  As you can see we tried to move the declaration to find the id into the doCustom function //val btnYES = view!!.findViewById(R.id.btnYES)
  this link offers advice but we have no idea where to start
  <a href="https://kotlinlang.org/docs/tutorials/android-plugin.html" rel="noreferrer">LINK</a></p>