Activity的生命周期,以及两个Activity之间数据的交换
程序员文章站
2022-06-23 09:32:03
创建一个SecondActivity,进行生命演示,以及数据交换。一: Activity的生命周期如果要进行两个页面之间的跳转,流程是二:两个Activity之间的数据交换传数据1.用putExtra的数据来传递在主页面上传递数据为:这里的BUTTON_TITLE是重构自动生成变量得来的为:public static final String BUTTON_TITLE = "button_title";接受数据为,在接受数据的页面,用getIntent来接受要改用一个按钮的信息...
创建一个SecondActivity,进行生命演示,以及数据交换。
一: Activity的生命周期
如果要进行两个页面之间的跳转,流程是
二:两个Activity之间的数据交换
传数据
1.用putExtra的数据来传递
在主页面上传递数据为:
这里的BUTTON_TITLE是重构自动生成变量得来的为:
public static final String BUTTON_TITLE = "button_title";
接受数据为,在接受数据的页面,用getIntent来接受
要改用一个按钮的信息,首先要给按钮命名改为
final Button button = (Button) findViewById(R.id.buttonFinish);
在onCreate的方法中
便完成了用putExtra的数据传递
2.用bundle来传值
在传数据的同一个方法下写入
Bundle bundle = new Bundle();
bundle.putString(BUTTON_TITLE, getString(R.string.imooc_title));
intent.putExtra(BUTTON_TITLE, bundle);
startActivity(intent);
在接受页面的Oncreate的方法下接受
if (getIntent() != null) {
Bundle bundle = getIntent().getBundleExtra(MainActivity.BUTTON_TITLE);
if (bundle != null) {
String buttonTitle = bundle.getString(MainActivity.BUTTON_TITLE);
button.setText(buttonTitle);
}
便完成了用Bundle来传值
3.用序列化的方法来传值
创建一个user类要继承implements Serializable来完成
import java.io.Serializable;
public class User implements Serializable{
public String title="这是第三种方式默认标题";
}
在传递页面的方法中
//intent.putExtra(BUTTON_TITLE, new User());
//startActivity(intent);
在接受页面的方法中
User user=(User) (getIntent().getSerializableExtra(MainActivity.BUTTON_TITLE));
button.setText(user.title);
便完成了第三种方法的传递数据
回数据
将原来接收页面的数据传回之间的传递页面
1.在原来页面的方法上添加上
startActivityForResult(intent, 999);
2.在原来的接受页面上的按钮点击事件上添加上
public void onClick(View v) {
Intent intent = new Intent();
intent.putExtra("imooc", "imooc+慕课网");
setResult(RESULT_OK, intent);
finish();
}
3.在原来的主页面上添加一个新的生命周期
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 999 && resultCode == RESULT_OK) {
//setTitle("前一个页面回来了");
setTitle(data.getStringExtra("imooc"));
}
}
如此便可完成页面的向回传递。
本文地址:https://blog.csdn.net/Derrick_itRose/article/details/107506340
上一篇: Joy:捕获数据包、分析网络流量数据、网络取证及安全监控工具
下一篇: c++智能指针,从初学到入门
推荐阅读
-
Android Activity之间的数据传递方法总结
-
Activity的生命周期,以及两个Activity之间数据的交换
-
Android 入门第十讲02-广播(广播概述,使用方法(系统广播,自定义广播,两个activity之间的交互和传值),EventBus使用方法,数据传递,线程切换,Android的系统广播大全)
-
安卓入门第三讲03-Activity的生命周期(理论)(Activity生命周期中的方法,Activity生命周期(一个和两个activity的生命周期分析))
-
android 应用程序Activity之间数据传递与共享的几种途径(转)
-
Android Studio Kotlin中使用Intent(携带数据)完成Activity之间的切换。
-
Android中Activity之间的数据传递(Intent和Bundle)
-
Android Activity之间数据的传递
-
Activity之间的数据传递
-
Android Activity之间的跳转以及数据的交互传递