Android 学习笔记3(Activity之间参数传递)

  • 在activity跳转时传简单数据

在第一个activity中,可以如下传递参数

findViewById(R.id.btnStartAty).setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){
                Intent i= new Intent(MainActivity.this,TheAty.class);
                i.putExtra("data","Hello there");
                startActivity(i);
            }
        });

在第二个activity中,可以如下得到参数

private TextView tv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_the_aty);
        Intent i=getIntent();
        tv= (TextView) findViewById(R.id.tv);
        tv.setText(i.getStringExtra("data"));
  • 在activity跳转时传数据包bundle
    第一个activity
public void onClick(View v){
                Intent i= new Intent(MainActivity.this,TheAty.class);
                Bundle b= new Bundle();
                b.putString("name","Alice");
                b.putInt("age",12);
                i.putExtras(b);
                startActivity(i);
            }
        });

第二个activity

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_the_aty);
        Intent i=getIntent();
        Bundle data=i.getExtras();
        tv= (TextView) findViewById(R.id.tv);
        tv.setText(String.format("name=%s,age=%d,name1=%s",data.getString("name"),data.getInt("age"),data.getString("name1","leo")));
}

或者在两个activity中分别作如下修改
MainActivity

//i.putExtras(b);
i.putExtra("data",b);

TheAty

//Bundle data=i.getExtras();
Bundle data=i.getBundleExtra("data");
  • 在activity跳转时传递自定义值对象
    值对象:自定义的,有数据类型的对象
    使用Serializable、Parcelable方法
  • 获取被启动的activity传回的参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值