Fragment中OnActivityResult返回的值的问题
1、我们在Fragment中执行 startActivityForResult(i, 1000);就会启动另一个Activity 并而在另启动的Activity中把我们需要的数据带回来OtherActivity.this.setResult(RESULT_OK, i); finish();就可以把数据带回来了
2、在主Activity中重写重写 onActivityResult(int requestCode, int resultCode, Intent data)方法 在这这个方法只需要做一步就可以把数据传递到Fragment中去:fragment_a.onActivityResult(requestCode, resultCode, data);这种思想是不是很像我们java中的设计模式呀 呵呵
3、我们在Fragment中重写onActivityResult(int requestCode, int resultCode, Intent data)方法 在这里方法里就可拿到OtherActivity传递回来的数据了 下面是代码Demo:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
fragment_a.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1000 && resultCode == 200) {
if (data != null) {
String value = data.getStringExtra("data");
if (!TextUtils.isEmpty(value)) {
tv_value.setText("我是main"+value);
}}}}