1.前言
前言:
昨天碰到了一个问题,我想实现页面跳转,采用了Bundle之后,再回到原来的页面,发现数据也没有了,
而且一直报错,网上查找了很多资料,发现要用一个startActivityForResult(),然而好景不长,
我又想在后面的页面把后面页面的数据和前面传过来的数据都传递给中间页面的数据,这样听起来有些复杂,
我简单写了一个Demo。
2.第一个活动+布局
2.1.第一个活动源代码
View Code
2.2.第一个活动布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/colorAccent" android:orientation="vertical" tools:context="com.example.kk.test1.Demo.Main1Activity"> <Button android:id="@+id/main1_but1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="第一个活动" android:layout_gravity="center" /> <TextView android:id="@+id/main1_txt1" android:layout_height="50dp" android:layout_width="100dp" android:text="第一个活动1" android:layout_gravity="center" android:background="@color/colorPrimary" /> <TextView android:id="@+id/main1_txt2" android:layout_height="50dp" android:layout_width="100dp" android:text="第一个活动2" android:layout_gravity="center" android:background="@color/colorPrimary" /> <TextView android:id="@+id/main1_txt3" android:layout_height="50dp" android:layout_width="100dp" android:text="第一个活动3" android:layout_gravity="center" android:background="@color/colorPrimary" /> </LinearLayout>
3.第二个活动+布局
3.1.第二个活动源代码
View Code
3.2.第二个活动布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/green" android:orientation="vertical" tools:context="com.example.kk.test1.Demo.Main2Activity"> <Button android:id="@+id/main2_but1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="第2个活动" android:layout_gravity="center" /> <TextView android:id="@+id/main2_txt1" android:layout_height="50dp" android:layout_width="100dp" android:text="第2个活动1" android:layout_gravity="center" android:background="@color/colorPrimary" /> <TextView android:id="@+id/main2_txt2" android:layout_height="50dp" android:layout_width="100dp" android:text="第2个活动2" android:layout_gravity="center" android:background="@color/colorPrimary" /> <TextView android:id="@+id/main2_txt3" android:layout_height="50dp" android:layout_width="100dp" android:text="第2个活动3" android:layout_gravity="center" android:background="@color/colorPrimary" /> </LinearLayout>
4.第三个活动+布局
4.1.第三个活动源代码
View Code
4.2.第三个活动布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/purple" android:orientation="vertical" tools:context="com.example.kk.test1.Demo.Main3Activity"> <Button android:id="@+id/main3_but1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="第3个活动" android:layout_gravity="center" /> <TextView android:id="@+id/main3_txt1" android:layout_height="50dp" android:layout_width="100dp" android:text="第3个活动1" android:layout_gravity="center" android:background="@color/colorPrimary" /> <TextView android:id="@+id/main3_txt2" android:layout_height="50dp" android:layout_width="100dp" android:text="第3个活动2" android:layout_gravity="center" android:background="@color/colorPrimary" /> <TextView android:id="@+id/main3_txt3" android:layout_height="50dp" android:layout_width="100dp" android:text="第3个活动3" android:layout_gravity="center" android:background="@color/colorPrimary" /> </LinearLayout>
5.效果预览
5.1.从Main1Activity==>点击按钮==>Main2Activity
5.2 从Main2Activity==>点击按钮==>Main3Activity
5.3.从Main3Activity==>点击按钮==>回到Main2Activity
可以发现,第二个活动即保存了前面第一个活动传过来的值,也保存了第三个活动传过来的值。