Activity之间的数据回传
- 这里我们拿MainActivity和SecondActivity来说明。
区别
- 我们拿充值回传举例
相较于普通的startActivity(intent) ,这个地方我们变为了 startActivityForResult(intent, Contants.REQUESTCODE); 而且需要实现一个方法:protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data)
- 这上面首先startActivityForResult(intent, Contants.REQUESTCODE)中的第一个参数为意图对象,第二个参数为自己定义的请求码,这个其实我定义的是 1,protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data)是接受回调的函数,第一个参数为请求码,也就是判断我们传出去的请求码是否和这个相同,用来过滤请求,第二个为返回的结果码,是对方返回给我们的,根据其值可以判断进行了哪个行为,第三个为对方返回给我们的意图对象,一般这里面存放数据。
- 在SecondActivity中有两个按钮,一个充值成功一个充值失败。具体看代码:
- 设置了两个按钮,一个充值成功,一个充值失败,每个按钮都会设置一个监听,点击之后会触发回调,调用MainActivity的onActivityResult函数,从代码中可以看出,当充值成功的时候结果码为1, 失败的时候结果码为-1,则可根据这个区别,区分成功还是失败。