Activity的三种状态
Activity的跳转
通常有两种跳转:1.startActivity无返回数据的跳转,
2.startActivityForResult(intent,int requestCode)有返回数据的跳转
2.1 在SecondActivity中通过 setResult(RESULTCODE, intent);设置返回的数据
2.2 在FirstActivity中重写 onActivityResult()方法可以拿到返回的数据
1.示范代码:FirstActivity 跳转到 SecondActivity
// 按钮监听事件
bt_jump.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// 跳转到SecondActivity并传值
Intent intent = new Intent(FirstActivity .this , SecondActivity.class);
Bundle bundle = new Bundle();
bundle.putString("name", "张三");
bundle.putInt("age", 21);
intent.putExtras(bundle); // 传递一个bundle
startActivity(intent); // 第一种:无返回数据的跳转
// startActivityForResult(intent, REQUESTCODE); //第二种:有返回数据的跳转,REQUESTCODE是请求码
}
});
2. 示例代码:
2.1 在SecondActivity中通过 setResult(RESULTCODE, intent);设置返回的数据
public void backToMain(View view){
Intent intent = getIntent();
Bundle bundle = new Bundle();
bundle.putString("msg", "secondActivity返回的值");
intent.putExtras(bundle);
setResult(RESULTCODE, intent); //设置返回的参数
finish(); //推出当前的activity
}
2.2 在FirstActivity中重写 onActivityResult()方法可以拿到返回的数据
// SecondActivity返回数据时,会触发该方法
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUESTCODE && resultCode == 101) {
// 拿到返回的数据
Bundle bundle = data.getExtras();
String msg = bundle.getString("msg");
Log.i("info", msg);
}
}
Activity的通常的两种跳转方式
最新推荐文章于 2022-11-17 08:24:48 发布
本文详细介绍了 Android 开发中 Activity 的两种跳转方式:无返回数据的 startActivity 和有返回数据的 startActivityForResult。通过示例代码展示了如何在不同 Activity 间传递及接收数据。
1334

被折叠的 条评论
为什么被折叠?



