So I'm really confused right now. I have two activities: MainActivity and Main2Activity. I change a value in MainActivity of a textview to "clicked". Then I want to call Main2Activity, change something in there and go back to MainActivity. When I'm going back to MainActivity i want the state to be as I called Main2Activity. How do i get back to the state from MainActivity when I left (=> textview should say "clicked" and not "hello world" as defined in XML)? Here is my code so far: MainActivity:
package com.plabsproject.testapp; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private Button btn1; private TextView textanzeige; @Override protected void onCreate(Bundle savedInstanceState) { if (savedInstanceState == null) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1 = (Button) findViewById(R.id.button1); btn1.setOnClickListener(btnListener); textanzeige = (TextView) findViewById(R.id.helloworld); textanzeige.setOnClickListener(btnListener); } else if (savedInstanceState != null){ Toast.makeText(this, "Test", Toast.LENGTH_SHORT).show(); } } private View.OnClickListener btnListener = new View.OnClickListener() { @Override public void onClick(View view) { if (view == btn1) { Intent wechselActivity = new Intent(view.getContext(), Main2Activity.class); startActivity(wechselActivity); finish(); } else if (view == textanzeige) { TextView ändereText = (TextView) findViewById(R.id.helloworld); ändereText.setText("clicked"); } } }; } and Main2Activity:
package com.plabsproject.testapp; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; public class Main2Activity extends AppCompatActivity { private Button btn1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); btn1 = (Button) findViewById(R.id.Activity2_Button); btn1.setOnClickListener(zurück_zur_Activty_1); } private View.OnClickListener zurück_zur_Activty_1 = new View.OnClickListener() { @Override public void onClick(View view) { if (view == btn1){ Intent wechselActivity = new Intent(view.getContext(), MainActivity.class); wechselActivity.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY); startActivity(wechselActivity); finish(); } } }; } I think, that this problem is somehow related to the setFlags, but for some reasons, it doesn't work as expected.
Thank you!