• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Apps Why am I getting this NullPointerException?

I'm fairly new to Android Programming and I don't understand why I got this error. Here is the logcat:

Code:
03-26 20:41:37.196: ERROR/AndroidRuntime(8250): FATAL EXCEPTION: main
03-26 20:41:37.196: ERROR/AndroidRuntime(8250): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.prattia.webs.cheaterphysics/com.prattia.webs.cheaterphysics.Pythag}: java.lang.NullPointerException
03-26 20:41:37.196: ERROR/AndroidRuntime(8250):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
03-26 20:41:37.196: ERROR/AndroidRuntime(8250):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
03-26 20:41:37.196: ERROR/AndroidRuntime(8250):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
03-26 20:41:37.196: ERROR/AndroidRuntime(8250):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
03-26 20:41:37.196: ERROR/AndroidRuntime(8250):     at android.os.Handler.dispatchMessage(Handler.java:99)
03-26 20:41:37.196: ERROR/AndroidRuntime(8250):     at android.os.Looper.loop(Looper.java:123)
03-26 20:41:37.196: ERROR/AndroidRuntime(8250):     at android.app.ActivityThread.main(ActivityThread.java:4627)
03-26 20:41:37.196: ERROR/AndroidRuntime(8250):     at java.lang.reflect.Method.invokeNative(Native Method)
03-26 20:41:37.196: ERROR/AndroidRuntime(8250):     at java.lang.reflect.Method.invoke(Method.java:521)
03-26 20:41:37.196: ERROR/AndroidRuntime(8250):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
03-26 20:41:37.196: ERROR/AndroidRuntime(8250):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
03-26 20:41:37.196: ERROR/AndroidRuntime(8250):     at dalvik.system.NativeStart.main(Native Method)
03-26 20:41:37.196: ERROR/AndroidRuntime(8250): Caused by: java.lang.NullPointerException
03-26 20:41:37.196: ERROR/AndroidRuntime(8250):     at com.prattia.webs.cheaterphysics.Pythag.onCreate(Pythag.java:33)
03-26 20:41:37.196: ERROR/AndroidRuntime(8250):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
03-26 20:41:37.196: ERROR/AndroidRuntime(8250):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
03-26 20:41:37.196: ERROR/AndroidRuntime(8250):     ... 11 more

And here is the code segment:

Code:
public class Pythag extends Activity {

	Button submit, clear;
	EditText at, bt, ct;
	TextView error, afinal, bfinal, cfinal;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.formulas);
					
		submit = (Button) findViewById(R.id.bSubmitP);
		clear = (Button) findViewById(R.id.bClearP);
		at = (EditText) findViewById(R.id.etSideAP);
		bt = (EditText) findViewById(R.id.etSideBP);
		ct = (EditText) findViewById(R.id.etSideCP);
		error = (TextView) findViewById(R.id.tvErrorP);
		afinal = (TextView) findViewById(R.id.tvSideAP);
		bfinal = (TextView) findViewById(R.id.tvSideBP);
		cfinal = (TextView) findViewById(R.id.tvSideCP);
		
		submit.setOnClickListener(new View.OnClickListener() {  //line 33
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				String as, bs, cs;
				double ad, bd, cd;
				int counter = 0;
				
				if(at.getText().length()==0)
					counter++;
				if(bt.getText().length()==0)
					counter++;
				if(ct.getText().length()==0)
					counter++;
				if(counter!=1){
					error.setText("Enter exactly two values");
				} else {
					as = at.getText().toString();
					bs = bt.getText().toString();
					cs = ct.getText().toString();
					
					ad = Double.valueOf(as);
					bd = Double.valueOf(bs);
					cd = Double.valueOf(cs);
					
					if(ad<0 || bd<0 || cd<0) {
						error.setText("Sides must be positive");
					} else {
						if(at.getText().length()==0){
							bfinal.setText(bt.getText());
							cfinal.setText(ct.getText());
							ad = Math.pow((Math.pow(cd, 2)-Math.pow(bd, 2)), .5);
							afinal.setText(Double.toString(ad));
						}
						if(bt.getText().length()==0){
							afinal.setText(at.getText());
							cfinal.setText(ct.getText());
							bd = Math.pow((Math.pow(cd, 2)-Math.pow(ad, 2)), .5);
							bfinal.setText(Double.toString(bd));
						}
						if(at.getText().length()==0){
							afinal.setText(at.getText());
							bfinal.setText(bt.getText());
							cd = Math.pow((Math.pow(ad, 2)+Math.pow(bd, 2)), .5);
							cfinal.setText(Double.toString(cd));
						}	
					}
				}		
			}
		});
		
		clear.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				afinal.setText("");
				bfinal.setText("");
				cfinal.setText("");
				
				at.setText("");
				bt.setText("");
				ct.setText("");
				
				error.setText("");
			}
		});
	}
}
 
Back
Top Bottom