Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroid NullPointerException Handling
    text
    copied!<p>My Android application keeps crashing when i click on Fish option and nothing is inserted in the settings activity it's a null pointer exception and i tried to handle it but no result so here is my code SelectPetsScreen Acivity</p> <pre><code>package com.set.petshome; public class SelectPetsScreen extends Activity { fishtank ii=new fishtank(); ImageButton fButton,sButton,tButton; Button chButton,setsButton; private MediaPlayer mp0,mp1; public String value; final Context context = this; String numvalue; FirstSSettings testObj= new FirstSSettings(); //public String chnumber;// recipient's mobile number public String num; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.selectscreen); //menu startup sound Code mp0=MediaPlayer.create(this,R.raw.menu); mp0.start(); //End Menu Sound Code //Settings Button Start setsButton = (Button) findViewById(R.id.settingsb); setsButton.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { //Voice mp1=MediaPlayer.create(getBaseContext(),R.raw.menu); mp1.start(); //End Voice //Starting a new Intent Intent nextScreen = new Intent(getApplicationContext(), FirstSSettings.class); startActivity(nextScreen); } }); //Settings Button End //Second Ch No.Button Start chButton = (Button) findViewById(R.id.changebutton); // add button listener chButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // custom dialog final Dialog dialog = new Dialog(context); dialog.setContentView(R.layout.mycustom); dialog.setTitle("Change Number"); // set the custom dialog components - text, image and button TextView current = (TextView) dialog.findViewById(R.id.cn); current.setText("Current Number:"); //current.setText("Current Number:"); TextView et11 = (TextView) dialog.findViewById(R.id.et1); //et11.setKeyListener(null); et11.setText(FirstSSettings.getUserNumber()); TextView newnum = (TextView) dialog.findViewById(R.id.nn); newnum.setText("New Number:"); TextView et22 = (TextView) dialog.findViewById(R.id.et2); et22.setText(""); // ImageView image = (ImageView) dialog.findViewById(R.id.image); //image.setImageResource(R.drawable.ic_launcher); Button dialogButton = (Button) dialog.findViewById(R.id.changebutton); // if button is clicked, close the custom dialog dialogButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { TextView et22 = (TextView) dialog.findViewById(R.id.et2); numvalue = et22.getText().toString(); FirstSSettings.setNumber(numvalue); //Button Fishtank Listener Start fButton = (ImageButton) findViewById(R.id.imageButton1); //Listening to button event fButton.setOnClickListener(new View.OnClickListener() { Boolean wifi,gsm; String x,y; public void onClick(View arg0) { num=FirstSSettings.UserNumber; //Voice mp1=MediaPlayer.create(getBaseContext(),R.raw.menu); mp1.start(); //End Voice //String s = FirstSSettings.UserGSM.toString(); //String d = FirstSSettings.UserWifi.toString(); //if(s.equals("false")&amp;&amp; d.equals("false")) FirstSSettings a=new FirstSSettings(); try { Log.v(FirstSSettings.UserGSM == null ? "UserGSM is Null object": "Not Null object", ""); x=FirstSSettings.UserGSM.toString(); y=FirstSSettings.UserWifi.toString(); } catch(Exception e) { Log.v("Catch NullPointerException and missed all the fun",""); e.printStackTrace(); } Log.v(x == null ? "NullPointerException after this line": "Everything is allright",""); // if();{y="false";} if(x.equals("false")&amp;&amp;(y.equals("false"))) { { final Dialog dialog = new Dialog(context); dialog.setContentView(R.layout.check_dialog); dialog.setTitle("Settings Alert"); TextView plCheck = (TextView) dialog.findViewById(R.id.plCheck); plCheck.setText("Check Your Connection Settings"); Button okBut = (Button) dialog.findViewById(R.id.okBut); //Temp Start // if button is clicked, close the custom dialog okBut.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); try { Toast.makeText(getApplicationContext(), FirstSSettings.getUserNumber(), Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); } Intent nextScreen3 = new Intent(getApplicationContext(), FirstSSettings.class); startActivity(nextScreen3); } }); dialog.show(); //Temp End } else { Intent nextScreen = new Intent(getApplicationContext(), fishtank.class); startActivity(nextScreen); // Toast.makeText(getApplicationContext(), "Start", Toast.LENGTH_SHORT).show(); //Toast.makeText(getApplicationContext(), FirstSSettings.UserWifi.toString(), Toast.LENGTH_LONG).show(); //Toast.makeText(getApplicationContext(), FirstSSettings.UserGSM.toString(), Toast.LENGTH_LONG).show(); //Toast.makeText(getApplicationContext(),"End", Toast.LENGTH_SHORT).show(); } //Starting a new Intent /* testObj =new FirstSSettings(); if(testObj.getUserGSM()==false&amp;&amp;testObj.getUserWifi()==false) { Intent nextScreen = new Intent(getApplicationContext(), fishtank.class); startActivity(nextScreen); } else { Intent nextScreen1 = new Intent(getApplicationContext(), fishtank.class); startActivity(nextScreen1); } */ } }); //Button Fishtank Listener End //Button Cats Listener Start sButton = (ImageButton) findViewById(R.id.imageButton2); //Listening to button event sButton.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) { //Voice final MediaPlayer mp1=MediaPlayer.create(getBaseContext(),R.raw.menu); mp1.start(); //End Voice //Starting a new Intent Intent nextScreen2 = new Intent(getApplicationContext(), Csoon.class); startActivity(nextScreen2); } }); //Button Cats Listener End //Button Dogs Listener Start tButton = (ImageButton) findViewById(R.id.imageButton3); //Listening to button event tButton.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) { //Voice final MediaPlayer mp1=MediaPlayer.create(getBaseContext(),R.raw.menu); mp1.start(); //End Voice //Starting a new Intent Intent nextScreen3 = new Intent(getApplicationContext(), Dsoon.class); startActivity(nextScreen3); } });} //Button Dogs Listener End //Menu handle @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.select_screen, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.ChangeColor: // write code to execute when clicked on this option Intent nextScreen3 = new Intent(getApplicationContext(), FirstSSettings.class); startActivity(nextScreen3); return true; case R.id.phoneInformation: // write code to execute when clicked on this option Intent nextScreen4 = new Intent(getApplicationContext(), Verify.class); startActivity(nextScreen4); return true; case R.id.callInfo: // startActivity(new Intent().setClass(MainActivity.this, LoginActivity.class).setData(getIntent().getData())); // write code to execute when clicked on this option return true; case R.id.email: // write code to execute when clicked on this option return true; default: return super.onOptionsItemSelected(item); } } } </code></pre> <p>FirstSSettings Activity</p> <pre><code>package com.set.petshome; public class FirstSSettings extends Activity { Button loginButton,saveButton,cancelButton; //CheckBox gsmbox,wifibox; public static Boolean UserGSM; public static Boolean UserWifi; public static String UserNumber; TextView nfield ; TextView e_num; CheckBox wifibox; CheckBox gsmbox ; TextView wifiuser,wifipass,wifi_uan,wifi_pan; String wifi_u,wifi_p; //login var EditText u,p; TextView res; String result; String x="mobile"; Thread runOnUiThread; InetAddress address; public static void setNumber(String a) { UserNumber=a; } public Boolean getUserGSM() { return UserGSM; } public Boolean getUserWifi() { return UserWifi; } public static String getUserNumber() { return UserNumber; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_first_ssettings); wifiuser = (TextView) findViewById(R.id.wifiuser); wifi_uan = (TextView) findViewById(R.id.wifi_uan); wifipass=(TextView) findViewById(R.id.wifipass); wifi_pan = (TextView) findViewById(R.id.wifi_pan); wifibox= (CheckBox) findViewById(R.id.Wifi); nfield = (TextView) findViewById(R.id.ntxtfield); res=(TextView)findViewById(R.id.res); nfield.setText(UserNumber); wifibox = (CheckBox) findViewById(R.id.Wifi); //Listening to button event //Wifi CheckbBox onClickListener start //Temp wifibox.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { if (wifibox.isChecked()) { NetworkInfo xWifi; ConnectivityManager connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); xWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (xWifi.isConnected()) { // Do whatever } else { callCheck(); } }else{ } } }); //testing if it is checked or unchecked //Wifi Checkbox onClickListener end //Wifi CheckbBox onCheckedChange start wifibox.setOnCheckedChangeListener(new OnCheckedChangeListener() { //recording the click of the checkbox public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { wifiuser = (TextView) findViewById(R.id.wifiuser); wifi_uan = (TextView) findViewById(R.id.wifi_uan); wifi_u=wifi_uan.getText().toString(); wifipass=(TextView) findViewById(R.id.wifipass); wifi_pan = (TextView) findViewById(R.id.wifi_pan); wifi_p=wifi_pan.getText().toString(); //testing if it is checked or unchecked if ( isChecked ) { //if it is check wifiuser.setVisibility(View.VISIBLE); wifi_uan.setVisibility(View.VISIBLE); wifipass.setVisibility(View.VISIBLE); wifi_pan.setVisibility(View.VISIBLE); loginButton.setVisibility(View.VISIBLE); res.setVisibility(View.VISIBLE); }else{ wifiuser.setVisibility(View.GONE); wifi_uan.setVisibility(View.GONE); wifipass.setVisibility(View.GONE); wifi_pan.setVisibility(View.GONE); loginButton.setVisibility(View.GONE); res.setVisibility(View.GONE); } } }); //Wifi CheckBox end runOnUiThread(new Runnable() { public void run() { Toast.makeText(getApplicationContext(), "Hello", Toast.LENGTH_SHORT).show(); } }); //GSM CheckbBox start gsmbox = (CheckBox) findViewById(R.id.GSM); gsmbox.setOnCheckedChangeListener(new OnCheckedChangeListener() { //recording the click of the checkbox public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { nfield = (TextView) findViewById(R.id.ntxtfield); e_num=(TextView) findViewById(R.id.e_num); //testing if it is checked or unchecked if ( isChecked ) { //if it is check nfield.setVisibility(View.VISIBLE); e_num.setVisibility(View.VISIBLE); }else{ nfield.setVisibility(View.GONE); e_num.setVisibility(View.GONE); } } }); //GSM CheckBox end //login Button start loginButton = (Button) findViewById(R.id.login); loginButton.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { try { wifibox= (CheckBox) findViewById(R.id.Wifi); gsmbox = (CheckBox) findViewById(R.id.GSM); UserGSM=gsmbox.isChecked(); UserWifi=wifibox.isChecked(); wifi_u=wifi_uan.getText().toString(); wifi_p=wifi_pan.getText().toString(); u = (EditText) findViewById(R.id.wifi_uan); p = (EditText) findViewById(R.id.wifi_pan); Toast.makeText(getApplicationContext(), u.getText().toString(), Toast.LENGTH_LONG).show(); Toast.makeText(getApplicationContext(), p.getText().toString(), Toast.LENGTH_LONG).show(); new MyAsyncTask().execute(u.getText().toString(),p.getText().toString()); } catch(Exception e) { e.printStackTrace(); } } }); //login Button end //Save Button Start saveButton = (Button) findViewById(R.id.save); //Temp obj saveButton.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { nfield = (TextView) findViewById(R.id.ntxtfield); //wifibox= (CheckBox) findViewById(R.id.Wifi); //gsmbox = (CheckBox) findViewById(R.id.GSM); setNumber(nfield.getText().toString()); //UserGSM=gsmbox.isChecked(); //UserWifi=wifibox.isChecked(); //Starting a new Intent //wifi_u=wifi_uan.getText().toString(); //wifi_p=wifi_pan.getText().toString(); Intent nextScreen = new Intent(getApplicationContext(), SelectPetsScreen.class); startActivity(nextScreen); //setDefaults(); try { Toast.makeText(getApplicationContext(), UserNumber, Toast.LENGTH_SHORT).show(); Toast.makeText(getApplicationContext(), UserGSM.toString(), Toast.LENGTH_SHORT).show(); Toast.makeText(getApplicationContext(), UserWifi.toString(), Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); } } }); //Save button End //Cancel button Start cancelButton = (Button) findViewById(R.id.cancel); cancelButton.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { //Starting a new Intent Intent nextScreen2 = new Intent(getApplicationContext(), SelectPetsScreen.class); startActivity(nextScreen2); } }); //Cancel Button End } } </code></pre> <p>Logcat</p> <pre><code> 12-04 21:04:05.041: E/AndroidRuntime(2789): FATAL EXCEPTION: main 12-04 21:04:05.041: E/AndroidRuntime(2789): java.lang.NullPointerException 12-04 21:04:05.041: E/AndroidRuntime(2789): at com.set.petshome.SelectPetsScreen$4.onClick(SelectPetsScreen.java:211) 12-04 21:04:05.041: E/AndroidRuntime(2789): at android.view.View.performClick(View.java:4240) 12-04 21:04:05.041: E/AndroidRuntime(2789): at android.view.View$PerformClick.run(View.java:17721) 12-04 21:04:05.041: E/AndroidRuntime(2789): at android.os.Handler.handleCallback(Handler.java:730) 12-04 21:04:05.041: E/AndroidRuntime(2789): at android.os.Handler.dispatchMessage(Handler.java:92) 12-04 21:04:05.041: E/AndroidRuntime(2789): at android.os.Looper.loop(Looper.java:137) 12-04 21:04:05.041: E/AndroidRuntime(2789): at android.app.ActivityThread.main(ActivityThread.java:5103) 12-04 21:04:05.041: E/AndroidRuntime(2789): at java.lang.reflect.Method.invokeNative(Native Method) 12-04 21:04:05.041: E/AndroidRuntime(2789): at java.lang.reflect.Method.invoke(Method.java:525) 12-04 21:04:05.041: E/AndroidRuntime(2789): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 12-04 21:04:05.041: E/AndroidRuntime(2789): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 12-04 21:04:05.041: E/AndroidRuntime(2789): at dalvik.system.NativeStart.main(Native Method) </code></pre>
 

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