Activity 跳转全解 android-Intent (带参数&不带参数的跳转)

(1)普通跳转 (startActivity)

方法1 和2 和3:

  1.    1. intent=new Intent(MainActivity.this,FristActivity.class);startActivity(intent);  
       2.  startActivity(new Intent(MainActivity.this,FristActivity.class));
       3.//声明上下文写法:
    private Context context; 
         //在OnCreate里 赋值 
    context=MainActivity.this; 
         // 然后再Intent 里调用 
    startActivity(new Intent(context,FristActivity.class));  
    

    (2) 带参数跳转 (startActivity)
  2. //简单的带参数                                                                                                   	Intent intent=new Intent(MainActivity.this,FristActivity.class);
    		intent.putExtra("key",value);
                    startActivity(intent);
    
    //多个参数借助 Buddle
    Intent intent=new Intent(MainActivity.this,FristActivity.class);
    				Bundle bundle=new Bundle();
    				bundle.putString("name","grain");
    				bundle.putInt("age", 23);
    				intent.putExtra("data", bundle);
    				startActivity(intent);
    //接收参数 
    Intent intent=getIntent();
    Bundle bundle= intent.getBundleExtra("data");
    tv_frist.setText(bundle.getString("name")+" | "+bundle.getInt("age"));

    (3) 带返回值 跳转 (startActivityForResult)
  3. //第一个参数是:intent 对象
     
    //第二个参数是:requestCode 请求标示 int 类型
    Intent intent=new Intent(MainActivity.this,FristActivity.class);
    startActivityForResult(intent, 1);

    重写onActivityResult方法
  4. /*   在要执行跳转的Activity ,重写 onActivityResult 方法;参数为:   会发现 这里也有 requestCode 和 发生跳转时设置的 requestCode 标示;
    * startActivityForResult 跳转 有返回值 ,重写onActivityResult(non-Javadoc)
     * 第一个参数:requestCode 请求标识
     * 第二个参数:resultCode 第二个页面返回的标识
     * 第三个参数:data  返回的数据
     * @see android.app.Activity#onActivityResult(int, int, android.content.Intent)
     */
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode==1&&resultCode==2){
    String text=data.getStringExtra("data");
    show(text);
    tv_mian.setText(text);
    }
    
    }
  5. //在第二个Activity 中通过 setResult()方法实现 参数回传(参数 其实是封装在 Intent 对象里的)setResult(resultCode, data);

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值