从一个activity回退到另一个activity并返回值

本文介绍了如何从一个Activity(bActivity)通过startActivityForResult启动另一个Activity(aActivity),并在bActivity处理完任务后返回数据。在bActivity中,使用Intent、Bundle将数据序列化为Parcelable并设置到Intent中,然后调用setResult和finish。在aActivity中,通过onActivityResult方法接收返回的requestCode、resultCode和数据,并进行后续处理。
摘要由CSDN通过智能技术生成
从aActivity跳转到bActivity去,并在bActivity做相关的处理,当相关的事情做完之后就回到aActivity,或许还同时返回一些bActivity处理完的数据交给主aActivity处理。

aActivity:
Intent intent = new Intent(aActivity.this, bActivity.class);
activity.startActivityForResult(intent, 0);

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {

   if (requestCode == 0 && resultCode == Activity.RESULT_OK {
        bean= data.getExtras().getParcelable("data");
        //TODO
    }

}
一个 Activity 转到另一个 Activity 的 Fragment,可以通过在目标 Activity 添加一个用于显示 Fragment 的容器 View,并在该 Activity 创建对应的 Fragment 来实现。 具体步骤如下: 1. 在目标 Activity 的布局文件添加一个用于显示 Fragment 的容器 View。 ``` <FrameLayout android:id="@+id/fragment_container" android:layout_width="match_parent" android:layout_height="match_parent"/> ``` 2. 在目标 Activity 创建对应的 Fragment,并将其添加到容器 View 。 ``` MyFragment myFragment = new MyFragment(); FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.add(R.id.fragment_container, myFragment); fragmentTransaction.commit(); ``` 在上述代码,MyFragment 是目标 Activity 需要显示的 Fragment,R.id.fragment_container 是在布局文件定义的容器 View 的 ID。 3. 在源 Activity 使用 Intent 启动目标 Activity。 ``` Intent intent = new Intent(SourceActivity.this, TargetActivity.class); startActivity(intent); ``` 注意,这里启动的是目标 Activity,不是目标 Fragment。 这样就可以从一个 Activity 转到另一个 Activity 的 Fragment 了。需要注意的是,在目标 Activity 添加 Fragment 时,最好使用 FragmentManager 来管理 Fragment 的生命周期,可以避免一些不必要的问题。同时,在目标 Fragment 也需要根据需要处理生命周期方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值