利用Bundle实现Activity之间的数据传递。

来源:互联网 发布:善领端口是那个文件 编辑:程序博客网 时间:2024/06/14 12:52
在Activity中通过Intent跳转到另外的Activity时,如果希望同时能够传递数据,则可以利用bundle,先将数据放到bundle对象中,然后为Intent添加该bundle对象,这样就实现了参数的批量添加,

        Intent intent = new Intent(); 
        intent.setClass(EX03_10.this,EX03_10_1.class); 
         
        Bundle bundle = new Bundle(); 
        bundle.putDouble("height",height); 
        bundle.putString("sex",sex); 
         
        intent.putExtras(bundle); 
         
        startActivity(intent);

Bundle类用作携带数据,它类似于Map,用于存放key-value名值对形式的值。相对于Map,它提供了各种常用类型的putXxx()/getXxx()方法,如:putString()/getString()和putInt()/getInt(),putXxx()用于往Bundle对象放入数据,getXxx()方法用于从Bundle对象里获取数据。Bundle的内部实际上是使用了HashMap类型的变量来存放putXxx()方法放入的值

在调用Bundle对象的getXxx()方法时,方法内部会从该变量中获取数据,然后对数据进行类型转换,转换成什么类型由方法的Xxx决定,getXxx()方法会把转换后的值返回。

除此之外我们也可以单个添加参数,这种写法使用起来比较方便,而且只需要编写少量的代码。


Intent intent = new Intent(); 
intent.putExtra("name", "xxxxxx"); 

0 0
原创粉丝点击