title: InvocationTargetException: Caused by NullPointerException
body: <p>My app is crashing. I have errors and I just got done debugging and as the title says thats the problem. </p>
  
  <p>While debugging I found the line that is causing the problem:</p>
  
  <pre><code>listView.setAdapter(arrayAdapter2);
  </code></pre>
  
  <p>Towards the bottom. I had a similar nullpointerException before <a href="https://stackoverflow.com/questions/14678657/arrayadapter-possibly-causes-app-to-crash">here</a>. This time it is different as I am declaring my arrayadapter in the right area. In debugging the result that goes into the array adapter is not NULL. </p>
  
  <p>I have searched the forum and found these:</p>
  
  <p><a href="https://stackoverflow.com/questions/8958882/why-am-i-getting-an-invocationtargetexception-android-2d-game">Why am I getting an InvocationTargetException? Android 2D game</a> </p>
  
  <p><a href="http://forums.bukkit.org/threads/java-lang-nullpointerexception-probably-a-stupid-error.8204/" rel="nofollow noreferrer">another nullpointerexception</a></p>
  
  <p>These NullPointerExceptions seem pretty common in android but they are pretty code specific.</p>
  
  <p>In reading the other information correct me if I am wrong the only place the null can be is if the <code>arrayAdapter2</code> is <code>NULL</code>. </p>
  
  <pre><code>public class ByZipcode extends Activity{ 
  Button btngetLObyzipcode;
  Spinner spinner1;
  ProgressBar progressBar1;
  EditText textinput4byzip;
  UserFunctions userFunctions  = new UserFunctions();
  ArrayAdapter&lt;String&gt; arrayAdapter2;
  
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.byzipcodepage);
      arrayAdapter2 = new ArrayAdapter&lt;String&gt;(ByZipcode.this,android.R.layout.simple_list_item_1);
  
      // Initializing spinner with predetermined results
      spinner1 = (Spinner) findViewById(R.id.spinner1);
      progressBar1 = (ProgressBar) findViewById(R.id.progressBar1);
      textinput4byzip = (EditText) findViewById(R.id.textinput4byzip);
      ArrayAdapter&lt;CharSequence&gt; spinnerAdapter = ArrayAdapter.createFromResource(this,
              R.array.byzipspinner, android.R.layout.simple_spinner_item);
      spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
      spinner1.setAdapter(spinnerAdapter);
  
  
      btngetLObyzipcode = (Button) findViewById(R.id.btngetLObyzipcode);
      btngetLObyzipcode.setOnClickListener(new View.OnClickListener() {
  
          @Override
          public void onClick(View arg0) {
              if (textinput4byzip.getText() != null &amp; textinput4byzip.getText().toString().length() == 5 ){
                  progressBar1.setVisibility(View.VISIBLE);
                  new DownloadDataTask().execute();
                  }
              }
      });
  
  }
  
  
  
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.activity_main_screen, menu);
      return true;
  }
  
  private class DownloadDataTask extends AsyncTask&lt;JSONArray, JSONArray, ArrayList&lt;String&gt; &gt; {
  
  
          @Override
          protected ArrayList&lt;String&gt; doInBackground(JSONArray... params) {
              String spinValue = spinner1.getSelectedItem().toString();
              //if(textinput4byzip.getText() != null)
              JSONArray json = userFunctions.getCustomerbyZipCode((textinput4byzip.getText().toString()), spinValue);
              ArrayList&lt;String&gt; customers = new ArrayList&lt;String&gt;();
              for(int i=0; i &lt; json.length() ; i++) {
                  JSONObject jarray;
                  try {
                      jarray = json.getJSONObject(i);
                      String zip = jarray.getString("CustomerName");
                      customers.add(zip);
                      Log.d(zip,"Output");
                  } catch (JSONException e) {
                      // TODO Auto-generated catch block
                      e.printStackTrace();
                  }
              }
              return customers;
          }   
          protected void onPostExecute(ArrayList&lt;String&gt; result){
              ListView listView = (ListView) findViewById(R.id.listView1);
              arrayAdapter2.addAll(result);
              listView.setAdapter(arrayAdapter2);
              progressBar1.setVisibility(View.GONE);
              Intent viewCustomers = new Intent(getApplicationContext(), StoreListView.class);
              viewCustomers.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
              startActivity(viewCustomers);
          }
   }
  </code></pre>
  
  <p>}</p>
  
  <p>Just in case you are interested the failure is below:</p>
  
  <pre><code>02-10 17:39:36.976: E/AndroidRuntime(7686): FATAL EXCEPTION: main
  02-10 17:39:36.976: E/AndroidRuntime(7686): java.lang.NullPointerException
  02-10 17:39:36.976: E/AndroidRuntime(7686):     at     com.example.lo.ByZipcode$DownloadDataTask.onPostExecute(ByZipcode.java:93)
  02-10 17:39:36.976: E/AndroidRuntime(7686):     at com.example.lo.ByZipcode$DownloadDataTask.onPostExecute(ByZipcode.java:1)
  02-10 17:39:36.976: E/AndroidRuntime(7686):     at android.os.AsyncTask.finish(AsyncTask.java:631)
  02-10 17:39:36.976: E/AndroidRuntime(7686):     at android.os.AsyncTask.access$600(AsyncTask.java:177)
  02-10 17:39:36.976: E/AndroidRuntime(7686):     at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
  02-10 17:39:36.976: E/AndroidRuntime(7686):     at android.os.Handler.dispatchMessage(Handler.java:99)
  02-10 17:39:36.976: E/AndroidRuntime(7686):     at android.os.Looper.loop(Looper.java:137)
  02-10 17:39:36.976: E/AndroidRuntime(7686):     at android.app.ActivityThread.main(ActivityThread.java:5039)
  02-10 17:39:36.976: E/AndroidRuntime(7686):     at java.lang.reflect.Method.invokeNative(Native Method)
  02-10 17:39:36.976: E/AndroidRuntime(7686):     at java.lang.reflect.Method.invoke(Method.java:511)
  02-10 17:39:36.976: E/AndroidRuntime(7686):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
  02-10 17:39:36.976: E/AndroidRuntime(7686):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
  02-10 17:39:36.976: E/AndroidRuntime(7686):     at dalvik.system.NativeStart.main(Native Method)
  </code></pre>
  
  <p>As requested the xml page for the above activity:</p>
  
  <pre><code>&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical" &gt;
  
  &lt;EditText
      android:id="@+id/textinput4byzip"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="center_horizontal|center_vertical"
      android:contentDescription="@string/zipcodefielddescription"
      android:ems="10"
      android:gravity="center_vertical|center_horizontal"
      android:inputType="number"
      android:maxLength="@integer/zipcodelength"
      android:textSize="@dimen/LargeFont" &gt;
  
      &lt;requestFocus /&gt;
  &lt;/EditText&gt;
  
  &lt;TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="center_vertical|center_horizontal"
      android:text="@string/entrzip"
      android:textAlignment="center"
      android:textAppearance="?android:attr/textAppearanceLarge"
      android:textSize="@dimen/MediumFont" /&gt;
  
  &lt;LinearLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:layout_gravity="center_vertical|center_horizontal"
      android:orientation="vertical"
      android:paddingLeft="@dimen/MediumFont"
      android:paddingTop="@dimen/MediumFont" &gt;
  
      &lt;ProgressBar
          android:id="@+id/progressBar1"
          style="?android:attr/progressBarStyleLarge"
          android:layout_width="285dp"
          android:layout_height="308dp"
          android:layout_gravity="center_horizontal|center_vertical"
          android:visibility="gone" /&gt;
  
      &lt;Spinner
          android:id="@+id/spinner1"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_gravity="center_horizontal|center_vertical"
          android:entries="@array/byzipspinner"
          android:textAlignment="center" /&gt;
  
      &lt;CheckBox
          android:id="@+id/checkBox1"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:checked="true"
          android:text="@string/restaurants"
          android:textSize="@dimen/LargeFont" /&gt;
  
      &lt;CheckBox
          android:id="@+id/checkBox2"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:checked="true"
          android:text="CheckBox"
          android:textSize="@dimen/LargeFont" /&gt;
  
      &lt;CheckBox
          android:id="@+id/checkBox3"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:checked="true"
          android:text="CheckBox"
          android:textSize="@dimen/LargeFont" /&gt;
  
      &lt;CheckBox
          android:id="@+id/checkBox4"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:checked="true"
          android:text="CheckBox"
          android:textSize="@dimen/LargeFont" /&gt;
  
      &lt;LinearLayout
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:gravity="center_vertical|center_horizontal"
          android:orientation="vertical"
          android:paddingRight="@dimen/MediumFont" &gt;
  
          &lt;Button
              android:id="@+id/btngetLObyzipcode"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="@string/getlo"
              android:textSize="@dimen/LargeFont" /&gt;
  
      &lt;/LinearLayout&gt;
  
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p></p>