发布网友 发布时间:2022-05-24 18:51
共2个回答
热心网友 时间:2023-10-26 00:07
用intent在activity之间传递数据,需要注意三个方法:热心网友 时间:2023-10-26 00:08
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); }