diff --git a/app/src/main/java/me/jj97181818/ch08_multiactivity/MainActivity.java b/app/src/main/java/me/jj97181818/ch08_multiactivity/MainActivity.java index 495370b..5384aa7 100644 --- a/app/src/main/java/me/jj97181818/ch08_multiactivity/MainActivity.java +++ b/app/src/main/java/me/jj97181818/ch08_multiactivity/MainActivity.java @@ -3,23 +3,51 @@ package me.jj97181818.ch08_multiactivity; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; +import android.support.annotation.Nullable; import android.view.View; +import android.widget.TextView; public class MainActivity extends AppCompatActivity { + TextView tvPath; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); + + tvPath = findViewById(R.id.tv_path1); + + run(getIntent()); + } + + private void run(Intent intent) { + tvPath.setText(intent.getCharSequenceExtra("path")); + if (tvPath.getText().equals("")) { + tvPath.setText("1"); + } + else { + tvPath.setText(tvPath.getText() + " -> 1"); + } } public void goBack (View v) { + Intent intent = new Intent(); + intent.putExtra("path", tvPath.getText()); + setResult(RESULT_OK, intent); + finish(); } public void gotoSecondActivity(View v) { Intent it = new Intent(this, SecondActivity.class); - startActivity(it); + it.putExtra("path", tvPath.getText()); + startActivityForResult(it, 1); } + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + + run(data); + } } diff --git a/app/src/main/java/me/jj97181818/ch08_multiactivity/SecondActivity.java b/app/src/main/java/me/jj97181818/ch08_multiactivity/SecondActivity.java index dd83e55..aad7c4d 100644 --- a/app/src/main/java/me/jj97181818/ch08_multiactivity/SecondActivity.java +++ b/app/src/main/java/me/jj97181818/ch08_multiactivity/SecondActivity.java @@ -1,24 +1,48 @@ package me.jj97181818.ch08_multiactivity; import android.content.Intent; +import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; +import android.widget.TextView; public class SecondActivity extends AppCompatActivity { + TextView tvPath; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); + + tvPath = findViewById(R.id.tv_path2); + + run(getIntent()); + } + + private void run(Intent intent) { + tvPath.setText(intent.getCharSequenceExtra("path")); + tvPath.setText(tvPath.getText() + " -> 2"); } public void goBack (View v) { + Intent intent = new Intent(); + intent.putExtra("path", tvPath.getText()); + setResult(RESULT_OK, intent); + finish(); } public void gotoThirdActivity(View v) { Intent it = new Intent(this, ThirdActivity.class); - startActivity(it); + it.putExtra("path", tvPath.getText()); + startActivityForResult(it, 2); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + + run(data); } } diff --git a/app/src/main/java/me/jj97181818/ch08_multiactivity/ThirdActivity.java b/app/src/main/java/me/jj97181818/ch08_multiactivity/ThirdActivity.java index 0eacc97..af8944b 100644 --- a/app/src/main/java/me/jj97181818/ch08_multiactivity/ThirdActivity.java +++ b/app/src/main/java/me/jj97181818/ch08_multiactivity/ThirdActivity.java @@ -1,24 +1,48 @@ package me.jj97181818.ch08_multiactivity; import android.content.Intent; +import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; +import android.widget.TextView; public class ThirdActivity extends AppCompatActivity { + TextView tvPath; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_third); + + tvPath = findViewById(R.id.tv_path3); + + run(getIntent()); + } + + private void run(Intent intent) { + tvPath.setText(intent.getCharSequenceExtra("path")); + tvPath.setText(tvPath.getText() + " -> 3"); } public void goBack (View v) { + Intent intent = new Intent(); + intent.putExtra("path", tvPath.getText()); + setResult(RESULT_OK, intent); + finish(); } public void gotoFirstActivity(View v) { Intent it = new Intent(this, MainActivity.class); - startActivity(it); + it.putExtra("path", tvPath.getText()); + startActivityForResult(it, 3); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + + run(data); } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index b2205e7..3f9f8df 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -6,24 +6,8 @@ android:layout_height="match_parent" tools:context=".MainActivity"> -