gpt4 book ai didi

android - 从 Activity 移动到 fragment

转载 作者:行者123 更新时间:2023-11-29 01:16:30 24 4
gpt4 key购买 nike

我有一个 fragment 说 F1 并且从那里我打开一个 Activity 说 A1 然后那个 Activity (A1) 我'我正在打开其他 Activity (A2),我正在 A2 中执行一些任务,一旦我的 Activity (A2) 中的任务结束,我现在想要销毁当前打开的 Activity 并移回我的 fragment F1

这就是我试图回到我的 fragment 中的内容:

    Intent intent = new Intent(context, myFragment.class);
overridePendingTransition(0, 0);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
startActivity(intent);

但是我收到了这个错误:无法找到明确的 Activity 类

我知道我为什么会得到这个(因为指定的类不是 fragment 的 Activity )但我的问题是我怎样才能回到那个 fragment ?

最佳答案

您不能以 Intent 启动 fragment 。您的每个 fragment 都将附加到某些 Activity 中。 fragment 可以在 Activity 中替换或添加,

您可以做的是:您的 fragment F1 附加到某个 Activity ...比如 A0。所以你可以做的是这样的:

  Intent intent = new Intent(context, A0.class);
intent .putExtra("openF2",true)
overridePendingTransition(0, 0);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
startActivity(intent);

然后,在 A0 Activity 的 onCreate 中,您可以检查要替换的 fragment :

public void onCreate(Bundle savedInstanceState){
Bundle extras = getIntent().getExtras();
if(extras!=null && extras.containsKey("openF2"))
boolean openF2 = extras.getBoolean("openF2");
if(openF2){
//add or replace fragment F2 in container
}
}

这只是伪代码。希望您能理解。

编辑:如果您想返回到之前的 fragment ,您可以显式调用 Activity 的 onBackPress() 两次以返回到您的 Activity ,比如 A0 包含 fragment 。但这不是个好主意。

关于android - 从 Activity 移动到 fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39194530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com