Note that there are some explanatory texts on larger screens.

plurals
  1. PONullPointerException at setProgressImgView
    primarykey
    data
    text
    <p>I'm getting a NullPointerException error at line 423:</p> <pre><code>mProgressImageview5 = (ImageView) findViewById(R.id.loading_empty5); </code></pre> <p>and I'm not sure why. Everything was working fine up until a moment ago and I don't recall changing anything related to this and I've looked it over several times and I'm still unsure why it is happening.</p> <p>SOURCE:</p> <pre><code>public class UpdateActivity extends Activity implements OnClickListener { public static ArrayList&lt;String&gt; NameArr = new ArrayList&lt;String&gt;(); public static ArrayList&lt;String&gt; ValueArr = new ArrayList&lt;String&gt;(); public static ArrayList&lt;String&gt; nameArr = new ArrayList&lt;String&gt;(); public static ArrayList&lt;String&gt; ApnArr = new ArrayList&lt;String&gt;(); public static ArrayList&lt;String&gt; mmscArr = new ArrayList&lt;String&gt;(); public static ArrayList&lt;String&gt; mmsportArr = new ArrayList&lt;String&gt;(); public static ArrayList&lt;String&gt; mmsproxyArr = new ArrayList&lt;String&gt;(); public static ArrayList&lt;String&gt; portArr = new ArrayList&lt;String&gt;(); public static ArrayList&lt;String&gt; proxyArr = new ArrayList&lt;String&gt;(); private ImageView mProgressImageview1; private ImageView mProgressImageview2; private ImageView mProgressImageview3; private ImageView mProgressImageview4; private ImageView mProgressImageview5; public static int count; AlertDialog mErrorAlert = null; int version; public static int TotalSteps = 8; private TelephonyManager tm; private static final String LOG_TAG = "STDataSettings"; private Button mUpdateButton = null; private Button mAssistUpdateButton = null; private Button mAssistInstrButton = null; private TextView mReadAgainButton = null; private int mInstructionNumber = 0; AlertDialog mConfirmAlert = null; public static InputStream stream = null; public static XmlParserHandlerFinal handler; private NetworkTask task; private AnimationDrawable loadingAnimation; private static final String TAG = "UpdateActivity"; Context ctx; private Button assist_update_btn = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); int networkType = tm.getNetworkType(); int phoneType = tm.getPhoneType(); handler = new XmlParserHandlerFinal(); int version = android.os.Build.VERSION.SDK_INT; if (phoneType == TelephonyManager.PHONE_TYPE_CDMA || (phoneType != TelephonyManager.PHONE_TYPE_GSM &amp;&amp; networkType != TelephonyManager.NETWORK_TYPE_GPRS &amp;&amp; networkType != TelephonyManager.NETWORK_TYPE_EDGE &amp;&amp; networkType != TelephonyManager.NETWORK_TYPE_HSDPA &amp;&amp; networkType != TelephonyManager.NETWORK_TYPE_HSPA &amp;&amp; networkType != TelephonyManager.NETWORK_TYPE_HSPAP &amp;&amp; networkType != TelephonyManager.NETWORK_TYPE_HSUPA &amp;&amp; networkType != TelephonyManager.NETWORK_TYPE_UMTS &amp;&amp; networkType != TelephonyManager.NETWORK_TYPE_LTE)) { // If the phone type is CDMA or // the phone phone type is not GSM and the network type is none of // the network types indicated in the statement // Display incompatibility message showAlert(getString(R.string.incomp_sm_dialog)); // Network type is looked because some tablets have no phone type. // We rely on network type in such cases } else if(tm.getSimState() == TelephonyManager.SIM_STATE_ABSENT || !(tm.getSimOperator().equals(getString(R.string.numeric_tmo)) || (tm.getSimOperator().equals(getString(R.string.numeric_att))))) { // if SIM is present and is NOT a T-Mo network SIM, // display Error message alert indicating to use SM SIM showAlert(getString(R.string.insert_sm_dialog)); }// No SIM or SIM with T-Mo MNC MCC present else if (version &lt; VERSION_CODES.ICE_CREAM_SANDWICH) { // Initial UI setup for versions lower than ICS setContentView(R.layout.update); mUpdateButton = (Button) findViewById(R.id.update_button); mUpdateButton.setOnClickListener(this); } else {// ICS and up if ((tm.getSimOperator()).equals(getString(R.string.numeric_tmo)) || (tm.getSimOperator()) .equals(getString(R.string.numeric_att))) { task = new NetworkTask(); task.execute(""); // Device has T-Mo network SIM card MCC and MNC correctly // populated // Reduce number of steps to 6 TotalSteps = 6; } } } public void onClick(View v) { if (v == mUpdateButton) { // Update button for versions lower than ICS is selected onClickMethod(v); Intent i = new Intent(this, ConfigFinalActivity.class); startActivity(i); finish(); } else if (v.getId() == R.id.assist_update_btn) { // Update button for ICS and up is selected // Get the TextView in the Assist Update UI TextView tv = (TextView) findViewById(R.id.apn_app_text_cta2); String text = ""; CharSequence styledText = text; switch (mInstructionNumber) { case 0: // Retrieve the instruction string resource corresponding the // 2nd set of instructions text = String.format(getString(R.string.apn_app_text_instr), TotalSteps); styledText = Html.fromHtml(text); // Update the TextView with the correct set of instructions tv.setText(styledText); // Increment instruction number so the correct instructions // string resource can be retrieve the next time the update // button is pressed mInstructionNumber++; break; case 1: text = getString(R.string.apn_app_text_instr2); styledText = Html.fromHtml(text); tv.setText(styledText); // Increment instruction number so the correct instructions // string resource can be retrieve the next time the update // button is pressed mInstructionNumber++; break; case 2: // Final set of instructions-Change to the corresponding layout setContentView(R.layout.assist_instructions); String assistUpdateInstr = String.format( getString(R.string.apn_app_text_instr3), TotalSteps); styledText = Html.fromHtml(assistUpdateInstr); TextView assistInstrText = (TextView) findViewById(R.id.updated_text); assistInstrText.setText(styledText); mAssistInstrButton = (Button) findViewById(R.id.assist_instr_btn); mReadAgainButton = (TextView) findViewById(R.id.read_again_btn); mAssistInstrButton.setOnClickListener(this); mReadAgainButton.setOnClickListener(this); } } else if (v == mAssistInstrButton) { // "LET'S DO THIS" Button in final instructions screen for ICS and // up is selected // Create ConfigActivity Intent Intent i = new Intent(this, ConfigFinalActivity.class); // Invoke ConfigActivity Intent to start the assisted update startActivity(i); startActivity(new Intent(Settings.ACTION_APN_SETTINGS)); } else if (v == mReadAgainButton) { // go back to 1st set of instructions if read again is selected mInstructionNumber = 0; setContentView(R.layout.assist_update); String assistUpdate = getString(R.string.apn_app_text_cta2); CharSequence styledText = Html.fromHtml(assistUpdate); TextView assistText = (TextView) findViewById(R.id.apn_app_text_cta2); assistText.setText(styledText); mAssistUpdateButton = (Button) findViewById(R.id.assist_update_btn); mAssistUpdateButton.setOnClickListener(this); } } public void onClickMethod(View v) { mUpdateButton = (Button) findViewById(R.drawable.btn_update_active_hdpi); } private void showAlert(String message) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage(message).setPositiveButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { UpdateActivity.this.finish(); } }); mConfirmAlert = builder.create(); mConfirmAlert.show(); } // AsyncTask to call web service class NetworkTask extends AsyncTask&lt;String, Integer, InputStream&gt; { @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected InputStream doInBackground(String... params) { try { // saving the response in InputStream stream = getQueryResults("https://dl.dropboxusercontent.com/u/31771876/GetPhoneSettings-ST-rsp-eng.xml"); // stream = new BufferedInputStream(https.getInputStream()); DataInputStream in = new DataInputStream(stream); BufferedReader br = new BufferedReader( new InputStreamReader(in)); String strLine; while ((strLine = br.readLine()) != null) { // Print the content // on the console System.out.println(strLine); System.out.println(strLine); in.close(); } } catch (IOException e) { Log.v(LOG_TAG, e.toString()); e.printStackTrace(); } catch (SAXException e) { Log.v(LOG_TAG, e.toString()); e.printStackTrace(); } catch (Exception e) { Log.v(LOG_TAG, e.toString()); e.printStackTrace(); } // The code below plays a Simple Promo animation for (int incr = 0; incr &lt; 2; incr++) { // Sleep for 1/2 second // Invoke UI to change updating text to show sequential dot loading animation publishProgress(R.drawable.loading_full, R.drawable.loading_empty, R.drawable.loading_empty, R.drawable.loading_empty, R.drawable.loading_empty); try { Thread.sleep(500); } catch (InterruptedException e) { // TODO Auto-generated catch block Log.d(TAG, "sleep failure"); } publishProgress(R.drawable.loading_full, R.drawable.loading_full, R.drawable.loading_empty, R.drawable.loading_empty, R.drawable.loading_empty); try { Thread.sleep(500); } catch (InterruptedException e) { // TODO Auto-generated catch block Log.d(TAG, "sleep failure"); } publishProgress(R.drawable.loading_full, R.drawable.loading_full, R.drawable.loading_full, R.drawable.loading_empty, R.drawable.loading_empty); try { Thread.sleep(500); } catch (InterruptedException e) { // TODO Auto-generated catch block Log.d(TAG, "sleep failure"); } publishProgress(R.drawable.loading_full, R.drawable.loading_full, R.drawable.loading_full, R.drawable.loading_full, R.drawable.loading_empty); try { Thread.sleep(500); } catch (InterruptedException e) { // TODO Auto-generated catch block Log.d(TAG, "sleep failure"); } publishProgress(R.drawable.loading_full, R.drawable.loading_full, R.drawable.loading_full, R.drawable.loading_full, R.drawable.loading_full); // Sleep for 1/2 second try { Thread.sleep(500); } catch (InterruptedException e) { // TODO Auto-generated catch block Log.d(TAG, "sleep failure"); } } return stream; } /* * Sends a query to server and gets back the parsed results in a bundle * urlQueryString - URL for calling the webservice */ protected synchronized InputStream getQueryResults(String urlQueryString) throws IOException, SAXException, SSLException, SocketTimeoutException, Exception { HttpsURLConnection https = null; String uri = urlQueryString; URL urlo = new URL(uri); try { https = (HttpsURLConnection) urlo.openConnection(); https.setConnectTimeout(20000); // 20 second timeout https.setRequestProperty("Connection", "Keep-Alive"); if ("gzip".equals(https.getContentEncoding())) { stream = new GZIPInputStream(stream); } else stream = https.getInputStream(); } catch (SSLException e) { Log.e(LOG_TAG, e.toString()); e.printStackTrace(); } catch (SocketTimeoutException e) { Log.e(LOG_TAG, e.toString()); e.printStackTrace(); } catch (IOException e) { Log.e(LOG_TAG, e.toString()); e.printStackTrace(); } catch (Exception e) { Log.e(LOG_TAG, e.toString()); e.printStackTrace(); } finally { } return stream; } @Override protected void onProgressUpdate(Integer... progress) { // Call function to update image view setProgressImgView(progress[0], progress[1], progress[2], progress[3], progress[4]); } @Override protected void onPostExecute(InputStream stream) { super.onPostExecute(stream); // This method is called to parse the response and save the ArrayLists success(); assistUpdate(); } } private void assistUpdate() { // Displaying final layout after pre-ICS automatic settings update setContentView(R.layout.assist_update); assist_update_btn = (Button) findViewById(R.id.assist_update_btn); assist_update_btn.setOnClickListener(this); } private void setProgressImgView(Integer imageViewId1, Integer imageViewId2, Integer imageViewId3, Integer imageViewId4, Integer imageViewId5) { // update image view with the updating dots // Reset view layout in case orientation while updating setContentView(R.layout.updating); mProgressImageview1 = (ImageView) findViewById(R.id.loading_empty1); mProgressImageview1.setBackgroundResource(imageViewId1); mProgressImageview2 = (ImageView) findViewById(R.id.loading_empty2); mProgressImageview2.setBackgroundResource(imageViewId2); mProgressImageview3 = (ImageView) findViewById(R.id.loading_empty3); mProgressImageview3.setBackgroundResource(imageViewId3); mProgressImageview4 = (ImageView) findViewById(R.id.loading_empty4); mProgressImageview4.setBackgroundResource(imageViewId4); mProgressImageview5 = (ImageView) findViewById(R.id.loading_empty5); mProgressImageview5.setBackgroundResource(imageViewId5); } @Override protected void onRestart() { super.onRestart(); if (mErrorAlert != null) mErrorAlert.dismiss(); } private void endUpdate(View v) { finish(); } public void success() { // to parse the response try { handler.getQueryResponse(stream); } catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } // to set method to save the ArryaLists from the parser setArrayList(); Intent i = new Intent(this, ConfigFinalActivity.class); startActivity(i); // finish(); } // method to save the ArrayLists from parser public static void setArrayList() { nameArr = handler.getnameArr(); ApnArr = handler.getApnArr(); mmscArr = handler.getMMSCArr(); mmsproxyArr = handler.getMmscProxyArr(); mmsportArr = handler.getMmsPortArr(); proxyArr = handler.getMmscProxyArr(); portArr = handler.getMmsPortArr(); count = handler.getCount(); // System.out.println("testing123"); for (int i = 0; i &lt; nameArr.size() - 1; i++) { System.out.println(nameArr.get(i)); } for (int i = 0; i &lt; ApnArr.size() - 1; i++) { System.out.println(ApnArr.get(i)); } } } </code></pre> <p>LOGCAT:</p> <pre><code>08-21 16:28:17.104: V/STDataSettings(1316): java.lang.NullPointerException 08-21 16:28:17.104: W/System.err(1316): java.lang.NullPointerException 08-21 16:28:17.104: W/System.err(1316): at java.io.FilterInputStream.available(FilterInputStream.java:53) 08-21 16:28:17.104: W/System.err(1316): at java.io.InputStreamReader.read(InputStreamReader.java:234) 08-21 16:28:17.104: W/System.err(1316): at java.io.BufferedReader.fillBuf(BufferedReader.java:130) 08-21 16:28:17.104: W/System.err(1316): at java.io.BufferedReader.readLine(BufferedReader.java:354) 08-21 16:28:17.114: W/System.err(1316): at com.project.new.datasettings.UpdateActivity$NetworkTask.doInBackground(UpdateActivity.java:258) 08-21 16:28:17.124: W/System.err(1316): at com.project.new.datasettings.UpdateActivity$NetworkTask.doInBackground(UpdateActivity.java:1) 08-21 16:28:17.124: W/System.err(1316): at android.os.AsyncTask$2.call(AsyncTask.java:287) 08-21 16:28:17.124: W/System.err(1316): at java.util.concurrent.FutureTask.run(FutureTask.java:234) 08-21 16:28:17.134: W/System.err(1316): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 08-21 16:28:17.134: W/System.err(1316): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 08-21 16:28:17.134: W/System.err(1316): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 08-21 16:28:17.144: W/System.err(1316): at java.lang.Thread.run(Thread.java:856) 08-21 16:28:17.176: D/AndroidRuntime(1316): Shutting down VM 08-21 16:28:17.176: W/dalvikvm(1316): threadid=1: thread exiting with uncaught exception (group=0x40a71930) 08-21 16:28:17.184: E/AndroidRuntime(1316): FATAL EXCEPTION: main 08-21 16:28:17.184: E/AndroidRuntime(1316): java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.ImageView 08-21 16:28:17.184: E/AndroidRuntime(1316): at com.project.new.datasettings.UpdateActivity.setProgressImgView(UpdateActivity.java:423) 08-21 16:28:17.184: E/AndroidRuntime(1316): at com.project.new.datasettings.UpdateActivity.access$0(UpdateActivity.java:409) 08-21 16:28:17.184: E/AndroidRuntime(1316): at com.project.new.datasettings.UpdateActivity$NetworkTask.onProgressUpdate(UpdateActivity.java:384) 08-21 16:28:17.184: E/AndroidRuntime(1316): at com.project.new.datasettings.UpdateActivity$NetworkTask.onProgressUpdate(UpdateActivity.java:1) 08-21 16:28:17.184: E/AndroidRuntime(1316): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:647) 08-21 16:28:17.184: E/AndroidRuntime(1316): at android.os.Handler.dispatchMessage(Handler.java:99) 08-21 16:28:17.184: E/AndroidRuntime(1316): at android.os.Looper.loop(Looper.java:137) 08-21 16:28:17.184: E/AndroidRuntime(1316): at android.app.ActivityThread.main(ActivityThread.java:5041) 08-21 16:28:17.184: E/AndroidRuntime(1316): at java.lang.reflect.Method.invokeNative(Native Method) 08-21 16:28:17.184: E/AndroidRuntime(1316): at java.lang.reflect.Method.invoke(Method.java:511) 08-21 16:28:17.184: E/AndroidRuntime(1316): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 08-21 16:28:17.184: E/AndroidRuntime(1316): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 08-21 16:28:17.184: E/AndroidRuntime(1316): at dalvik.system.NativeStart.main(Native Method) 08-21 16:2 </code></pre> <p>8:20.124: I/Process(1316): Sending signal. PID: 1316 SIG: 9</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload