Activity的生命周期,以及两个Activity之间数据的交换
程序员文章站
2022-04-12 08:39:10
创建一个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
上一篇: AsyncTask的原理
下一篇: 开源加密解密库比较
推荐阅读
-
Android编程实现两个Activity之间共享数据及互相访问的方法
-
关于Android Activity之间传递数据的6种方式
-
Android 中两个Activity 之间的传值问题
-
Android Activity之间的数据传递方法总结
-
深入理解Activity之间的数据传递
-
解析activity之间数据传递方法的详解
-
关于Android Activity之间传递数据的6种方式
-
Android Activity之间的数据传递方法总结
-
Activity的生命周期,以及两个Activity之间数据的交换
-
Android 入门第十讲02-广播(广播概述,使用方法(系统广播,自定义广播,两个activity之间的交互和传值),EventBus使用方法,数据传递,线程切换,Android的系统广播大全)