如何从活动B导航到活动A的特定片段?

时间:2020-05-04 07:55:47

标签: android android-fragments android-activity android-viewpager bottomnavigationview

  1. 我有Activity A,其中Fragments中有4个ViewPager,其中 BottomNavigationView
  2. Fragment的第4个导航到Activity B
  3. Activity B中,有一个Button被单击时应导航 到Fragment B中的Activity A

如何处理?需要注意的一点是,我不希望重新创建Activity A,因为在Activity A上有很多API调用

P.S我看到了类似问题的答案,但由于我不使用导航视图,因此没有答案。

2 个答案:

答案 0 :(得分:1)

您可以尝试使用startActivityForResult()

第一次点击从片段到ActivityB

 Intent intent = new Intent(getActivity(), ActivityB.class);
 startActivityForResult(intent, 102);

从ActivityB单击以单击片段

Intent backIntent = new Intent();
        backIntent.putExtra("data","test");
        setResult(RESULT_OK,backIntent);
        finish();

然后添加 onActivityResult () 片段部分

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

        if (data != null) {
            if (requestCode == 102) {
                if (resultCode == RESULT_OK) {

                    if(!TextUtils.isEmpty(data.getStringExtra("data")))
                    {
                        //
                    }


                }
            }
        }
    }

答案 1 :(得分:1)

我建议从Activity开始Intent,有意添加

intent.putExtra(KEY_FRAGMENT, "YourFragmentName")

和其他Activity

  val fragmentName = intent.getStringExtra(KEY_FRAGMENT)
        if (fragmentName == "YourFragmentName") {
            // show fragment here
        }