vendredi 24 juin 2016

getExtras() returns null on back navigation

So, I am starting MainActivity.java is having following code.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent i = new Intent(MainActivity.this, SecondActivity.class);
            Bundle bundle = new Bundle();
            bundle.putString("testString", "TestString");
            i.putExtras(bundle);
            startActivity(i);
        }
    });
}

And My ScondActivity.java is having following code.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    String s = getIntent().getExtras().getString("testString");
    Log.v(SecondActivity.class.getSimpleName(), s);

    findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent i = new Intent(SecondActivity.this, ThirdActivity.class);
            Bundle bundle = new Bundle();
            bundle.putString("testString", "TestString");
            i.putExtras(bundle);
            startActivity(i);
        }
    });
}

And my ThirdActivity.java having following code.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_third);

    String s = getIntent().getExtras().getString("testString");
    Log.v(ThirdActivity.class.getSimpleName(), s);
}

While I run this app, everything works fine. But when I come back from ThirdActivity.java to SecondActivity.java I am getting NullPointerException on String s = getIntent().getExtras().getString("testString");.

How can I overcome this issue?

Any possible help can be highly appreciable.

Aucun commentaire:

Enregistrer un commentaire