gpt4 book ai didi

android - 如何从特定的 Activity 中选择打开哪个 fragment ?

转载 作者:搜寻专家 更新时间:2023-11-01 08:33:03 24 4
gpt4 key购买 nike

我的 mainActivity 包含 5 个可以使用选项卡切换的 fragment 。开始时显示的主选项卡是第三个(中间的那个)。我在 fragment #1 中有一个按钮可以打开 activityTwo。我应该在 activityTwo 的 onBackPressed 方法中输入什么,以便它使用选定的选项卡 #1 将我带回 mainActivity。我目前有这个,但它会打开 mainActivity 并显示主选项卡 (#3)

@Override
public void onBackPressed() {
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
ActivityTwo.this.finish();
}

如何让它显示选项卡 #1 而不是选项卡 #3?

最佳答案

您的第一个 Activity 仍应位于 Activity 堆栈中,因此您不应再次调用 startActivity。相反,您可以使用 setResult 将值传递回您的第一个 Activity :

// Inside your second activity
@Override
public void onBackPressed() {
setResult(RESULT_OK);
finish();
}

然后,从您的第一个 Activity 开始,将 startActivity 替换为 startActivityForResult,并添加一个请求代码(您想要的任何整数,只要它是唯一的):

startActivityForResult(intent, YOUR_REQUEST_CODE);

然后覆盖onActivityResult:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == YOUR_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
// Code to select tab 1 here
// mTabLayout.getTabAt(0).select();
}
}
}

关于android - 如何从特定的 Activity 中选择打开哪个 fragment ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39124077/

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