-3

Good day ALL

I am trying to create a program that shows toast message onResume however the app crashes before starting and I couldn't figure out how to fix it. the link provided as if my question is duplicated does not even help me to fix this. however I've changed my code based on that question and the same error happen

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button btn ;
    btn=(Button)findViewById(R.id.button);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent i = new Intent(MainActivity.this, ActivityTwo.class);
            startActivity(i);
        }
    });

}
public void onResume(){
    super.onResume();
    String vlue=new String();
    Intent i = getIntent();
    Bundle b = i.getExtras();
    if(b.getString("val")!=null){
        vlue = b.getString("val");
    }
    String comp="false";
    if(vlue==comp){
        Toast.makeText(this,"The subactivity finished",Toast.LENGTH_LONG).show();
    }

}

Logcat stack

12-09 02:27:16.460 4808-4808/com.example.myapplication W/System: ClassLoader referenced unknown path: /data/app/com.example.myapplication-2/lib/x86 12-09 02:27:17.146 4808-4808/com.example.myapplication W/System: ClassLoader referenced unknown path: /data/app/com.example.myapplication-2/lib/x86 12-09 02:27:17.353 4808-4808/com.example.myapplication W/art: Verification of java.lang.Object com.example.myapplication.MainActivity.access$super(com.example.myapplication.MainActivity, java.lang.String, java.lang.Object[]) took 150.015ms 12-09 02:27:17.403 4808-4808/com.example.myapplication W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable 12-09 02:27:17.488 4808-4808/com.example.myapplication D/AndroidRuntime: Shutting down VM 12-09 02:27:17.488 4808-4808/com.example.myapplication E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.myapplication, PID: 4808 java.lang.RuntimeException: Unable to resume activity {com.example.myapplication/com.example.myapplication.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.os.Bundle.getString(java.lang.String)' on a null object reference at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3103) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3134) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2481) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.os.Bundle.getString(java.lang.String)' on a null object reference at com.example.myapplication.MainActivity.onResume(MainActivity.java:32) at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1258) at android.app.Activity.performResume(Activity.java:6312) at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3092) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3134)  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2481)  at android.app.ActivityThread.-wrap11(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:148)  at android.app.ActivityThread.main(ActivityThread.java:5417)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

This the second class

public class ActivityTwo extends Activity {

@Override
protected void onCreate(Bundle bundle) {
    super.onCreate(bundle);
    setContentView(R.layout.activity_two);
    Button btn ,finish;
    btn=(Button)findViewById(R.id.button3);
    finish=(Button)findViewById(R.id.button4);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent i = new Intent(ActivityTwo.this, MainActivity.class);
            startActivity(i);
        }
    });
    finish.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            finish();
        }
    });}




public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
    String name="false";
    Intent i = new Intent(ActivityTwo.this, MainActivity.class);
    i.putExtra("vla", name);
    startActivity(i);
    return false;
}
return super.onKeyDown(keyCode, event);}}

1 Answers1

0

You are getting a null pointer exception over here

Bundle b = i.getExtras();
String vlue = b.getString("val");

'b' is null. There are no intent extras. b.getString() throws and NPE exception

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.os.Bundle.getString(java.lang.String)' on a null object reference 
Shmuel
  • 3,916
  • 2
  • 27
  • 45