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 发布