title: NullPointerException on button's OnClickListener
body: <p>I'm writing an Android game app for an Artificial Intelligence semester project. I'm getting a NullPointerException on Line 38 of the main class, which is the setOnClickListener for the new game button from the launch screen.</p>
  
  <p>Relevant sections Class WW3Activity:</p>
  
  <pre><code>public class WW3Activity extends Activity
  {
  public boolean DebugMode = false;
  private String buildMenuEmplacement = ""; 
  
  //[Initialization] Called when the app is first launched
  @Override
  public void onCreate(Bundle savedInstanceState)
  {           
      super.onCreate(savedInstanceState);
      setContentView(R.layout.startscreen);
  
      //[Initialization] Makes the button resources available to the class
      final Button newGame = (Button) findViewById(R.id.buttonNewGame);
      final Button loadGame = (Button) findViewById(R.id.buttonLoadGame);
      final Button exitGame = (Button) findViewById(R.id.buttonExit);
      final Button about = (Button) findViewById(R.id.buttonAbout);
      final Button troll = (Button) findViewById(R.id.buttonTroll);
      final Button debug = (Button) findViewById(R.id.buttonDebug);
  
      //[Action] When user pushes the New Game button
      newGame.setOnClickListener(new View.OnClickListener()
      {
          public void onClick(View v)
          {
              // Perform action on click
              setContentView(R.layout.main);
              buttonInitialize();
          }
      });
      //[Action] When user pushes the Exit Game button
      exitGame.setOnClickListener(new View.OnClickListener()
      {
          public void onClick(View v)
          {
              // Perform action on click
              finish();
          }
      });
      //[Action] When user pushes the Debug Mode button
      exitGame.setOnClickListener(new View.OnClickListener()
      {
          public void onClick(View v)
          {
              // Perform action on click
              DebugMode = true;
          }
  
  
        });
      }
  
      //[Initialization] Gets the emplacements ready to be pushed
     public void buttonInitialize()
     {
          final ImageView pe1 = (ImageView) findViewById(R.id.playerEmplacement1);
          final ImageView pe2 = (ImageView) findViewById(R.id.playerEmplacement2);
          final ImageView pe3 = (ImageView) findViewById(R.id.playerEmplacement3);
          final ImageView pc = (ImageView) findViewById(R.id.playerCity);
          final ImageView ee1 = (ImageView) findViewById(R.id.enemyEmplacement1);
          final ImageView ee2 = (ImageView) findViewById(R.id.enemyEmplacement2);
          final ImageView ee3 = (ImageView) findViewById(R.id.enemyEmplacement3);
          final ImageView ec = (ImageView) findViewById(R.id.enemyCity);
  
          registerForContextMenu(findViewById(R.id.playerEmplacement1));
          registerForContextMenu(findViewById(R.id.playerEmplacement2));
          registerForContextMenu(findViewById(R.id.playerEmplacement3));
          registerForContextMenu(findViewById(R.id.enemyEmplacement1));
          registerForContextMenu(findViewById(R.id.enemyEmplacement2));
          registerForContextMenu(findViewById(R.id.enemyEmplacement3));
  
          /*empAction(pe1);
          empAction(pe2);
          empAction(pe3);
          empAction(ee1);
          empAction(ee2);
          empAction(ee3);
          empAction(ec);
          empAction(pc);*/
      }
  </code></pre>
  
  <p>And the LogCat:</p>
  
  <pre><code>10-24 13:29:12.297: D/dalvikvm(440): GC_FOR_ALLOC freed 40K, 4% free 6356K/6595K, paused 177ms
  10-24 13:29:12.303: I/dalvikvm-heap(440): Grow heap (frag case) to 6.653MB for 409616-byte allocation
  10-24 13:29:12.503: D/dalvikvm(440): GC_FOR_ALLOC freed &lt;1K, 5% free 6755K/7047K, paused 128ms
  10-24 13:29:12.614: D/dalvikvm(440): GC_FOR_ALLOC freed 400K, 8% free 6762K/7303K, paused 57ms
  10-24 13:29:12.663: D/AndroidRuntime(440): Shutting down VM
  10-24 13:29:12.663: W/dalvikvm(440): threadid=1: thread exiting with uncaught exception (group=0x40014760)
  10-24 13:29:12.683: E/AndroidRuntime(440): FATAL EXCEPTION: main
  10-24 13:29:12.683: E/AndroidRuntime(440): java.lang.RuntimeException: Unable to start activity ComponentInfo{edu.mbijou.cosc473.ww3/edu.mbijou.cosc473.ww3.WW3Activity}: java.lang.NullPointerException
  10-24 13:29:12.683: E/AndroidRuntime(440):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1815)
  10-24 13:29:12.683: E/AndroidRuntime(440):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1831)
  10-24 13:29:12.683: E/AndroidRuntime(440):  at android.app.ActivityThread.access$500(ActivityThread.java:122)
  10-24 13:29:12.683: E/AndroidRuntime(440):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1024)
  10-24 13:29:12.683: E/AndroidRuntime(440):  at android.os.Handler.dispatchMessage(Handler.java:99)
  10-24 13:29:12.683: E/AndroidRuntime(440):  at android.os.Looper.loop(Looper.java:132)
  10-24 13:29:12.683: E/AndroidRuntime(440):  at android.app.ActivityThread.main(ActivityThread.java:4123)
  10-24 13:29:12.683: E/AndroidRuntime(440):  at java.lang.reflect.Method.invokeNative(Native Method)
  10-24 13:29:12.683: E/AndroidRuntime(440):  at java.lang.reflect.Method.invoke(Method.java:491)
  10-24 13:29:12.683: E/AndroidRuntime(440):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
  10-24 13:29:12.683: E/AndroidRuntime(440):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
  10-24 13:29:12.683: E/AndroidRuntime(440):  at dalvik.system.NativeStart.main(Native Method)
  10-24 13:29:12.683: E/AndroidRuntime(440): Caused by: java.lang.NullPointerException
  10-24 13:29:12.683: E/AndroidRuntime(440):  at edu.mbijou.cosc473.ww3.WW3Activity.onCreate(WW3Activity.java:38)
  10-24 13:29:12.683: E/AndroidRuntime(440):  at android.app.Activity.performCreate(Activity.java:4397)
  10-24 13:29:12.683: E/AndroidRuntime(440):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
  10-24 13:29:12.683: E/AndroidRuntime(440):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1779)
  10-24 13:29:12.683: E/AndroidRuntime(440):  ... 11 more
  </code></pre>
  
  <p>startscreen.xml:</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="match_parent"
      android:layout_height="match_parent"
      android:orientation="vertical" &gt;
      &lt;ImageView
          android:id="@+id/logo"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignParentLeft="true"
          android:layout_alignParentTop="true"
          android:layout_marginLeft="493dp"
          android:layout_marginTop="217dp"
          android:src="@drawable/logo" &gt;
      &lt;/ImageView&gt;
      &lt;Button
          android:id="@+id/buttonNewGame"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignParentLeft="true"
          android:layout_below="@+id/logo"
          android:layout_marginLeft="200dp"
          android:layout_marginTop="133dp"
          android:clickable="true"
          android:text="@string/bNewGame" &gt;
      &lt;/Button&gt;
      &lt;Button
          android:id="@+id/buttonLoadGame"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignBottom="@+id/buttonNewGame"
          android:layout_alignLeft="@+id/buttonTroll"
          android:layout_alignRight="@+id/buttonTroll"
          android:clickable="true"
          android:text="@string/bLoadGame" &gt;
      &lt;/Button&gt;    &lt;Button
          android:id="@+id/buttonExit"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignBaseline="@+id/buttonLoadGame"
          android:layout_alignBottom="@+id/buttonLoadGame"
          android:layout_alignLeft="@+id/buttonDebug"
          android:layout_alignRight="@+id/buttonDebug"
          android:layout_toRightOf="@+id/buttonLoadGame"
          android:clickable="true"
          android:text="@string/bExit" &gt;
      &lt;/Button&gt;
      &lt;Button
          android:id="@+id/buttonAbout"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignLeft="@+id/buttonNewGame"
          android:layout_alignRight="@+id/buttonNewGame"
          android:layout_below="@+id/buttonNewGame"
          android:layout_marginTop="50dp"
          android:text="@string/bAbout" /&gt;
      &lt;Button
          android:id="@+id/buttonTroll"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignBaseline="@+id/buttonAbout"
          android:layout_alignBottom="@+id/buttonAbout"
          android:layout_centerHorizontal="true"
          android:text="@string/bTrollface" /&gt;
      &lt;Button
          android:id="@+id/buttonDebug"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignBottom="@+id/buttonTroll"
          android:layout_toRightOf="@+id/buttonTroll"
          android:layout_marginLeft="200dp"
          android:text="@string/bDebug" /&gt;
  &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p>I originally had a NullPointerException because I declared the set of buttons before I changed the layout view to startscreen, but I fixed that, and then this happened. Technically this IS homework, but I don't think that it warrants the homework tag because this isn't a homework-y type of problem, because the problem has nothing to do with the actual assignment itself.</p>