在第19讲中介绍了通过Intent的在不同Activity之间传递数据,那么当需要传递的数据较多,且需要在多个Activity之间传值时,就需要通过Bundle来传递了。

  • 马上学Android 022 - 使用Bundle在不同Activity之间传值

使用Bundle进行传值适用于下面两种情况

  • ActivityA -> ActivityB -> ActivityC
  • ActivityA -> ActivityB, ActivityC

传值模板代码如下:

1
2
3
4
5
6
7
Intent intent = new Intent();

...//intent初始化

Bundle bundle = new Bundle();
bundle.putXXX("key",value);
intent.putExtra(bundle);

取值的代码模板如下

1
2
Bundle bundle = this.getIntent().getBundleExtra();
ValuesType value = bundle.getXXX("Key")