如何在Android开发中activity之间数据传递

 我来答
百度网友4d3212ddb5e
2016-09-23 · TA获得超过3575个赞
知道大有可为答主
回答量:2955
采纳率:93%
帮助的人:470万
展开全部
  android各组件之间可以使用Intent来传递数据, 这里以ActivityA向ActivityB传递数据为例

  1
  2
  3
  4
  5
  6
  7
  8
  9
  10
  11
  12
  13
  14
  15
  
  Intent intent = new Intent(context, ActivityB.class);
  
  //如果context上下文不是Activity的话, 需要添加下面这个flag,
  if (!(context instanceof Activity)) {
  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  }
  //添加要传递的数据
  //这里的key到时候ActivityB会用来得到value
  //android要求可以传递的数据类型包括基本数据类型,
  //基本数据类型的数组,CharSequence,以及实现了Parcelable的对象
  //putExtra是重载方法, 根据value的类型会适当的打包进intent的Bundle对象里
  intent.putExtra(key, value);
  //或则将数据打包进Bundle data里, 然后intent.putExtras(data);
  
  context.startActivity(intent);
  

  在ActivityB中

  1
  2
  3
  4
  5
  6
  
  public void onCreate(Bundle savedInstanceState) {
  //得到传递过来的数据
  Bundle bundle = getIntent().getExtras();
  //通过getXXX方法来获取key对应的value
  bundle.getXXX(key);
  }
  
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式