Android知识点2-不同Activity之间传递数据

不同Activity之间传递简单数据主要通过Intent,在启动另一个Activity时把数据附加到Intent中传递过去

1、简单数据

发数据的Activity

 Intent i=new Intent(MainActivity.this,TheAty.class);
 i.putExtra("data","hello textAndroid");
 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"));
    }

2、数据包

发数据的Activity

Intent i=new Intent(MainActivity.this,TheAty.class);

Bundle b=new Bundle();
b.putString("name","HelloAndroid");
b.putInt("age",2);

i.putExtras(b);
startActivity(i);

收数据的Activity

 private TextView tv;
    @Override
    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(i.getStringExtra("data"));
        tv.setText(String.format("name=%s,age=%d,name1=%s",data.getString("name"),data.getInt("age"),data.getString("name1","leo")));

若发送数据包中没有某个key,在接收数据包中可以写个默认值;若接收方写了默认值,发送方也有该Key的value,输出显示的为发送时数据的value.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值