gpt4 book ai didi

android - 单击按钮时从 Activity 中删除 fragment ?

转载 作者:太空狗 更新时间:2023-10-29 15:40:36 24 4
gpt4 key购买 nike

目前,我的主要 Activity 有一个描述字段,当用户点击描述时会打开一个 fragment 。在 fragment 上有一个文本字段和一个按钮,当我单击按钮时,我想关闭 fragment 并返回我的 Activity 。

我怎样才能做到这一点?

我已将 onClickListener 添加到我的 fragment 中以捕获按钮上的点击。 toast 消息被打印出来,但 fragment 没有被删除/关闭。

descDismiss.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getContext(), "Dismissed", Toast.LENGTH_LONG).show();

getActivity().getFragmentManager().popBackStackImmediate();
}
});

我在 fragment 的 onCreateView 中有 onClickListener。这是正确的吗?

提前致谢!

编辑:

我正在这样添加我的 fragment :

((MainActivity)context).getSupportFragmentManager().beginTransaction()
.add(R.id.fragment_container, frag).commit();

最佳答案

首先尝试像这样将 fragment 添加到backstack

FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(..............);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();

然后像这样删除 fragment :-

FragmentManager fm = getActivity().getSupportFragmentManager();
if(fm.getBackStackEntryCount()>0) {
fm.popBackStack();
}

删除所有 fragment

FragmentManager fm = getActivity().getSupportFragmentManager();
for (int i = 0; i < fm.getBackStackEntryCount(); ++i) {
fm.popBackStack();
}

关于android - 单击按钮时从 Activity 中删除 fragment ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38864271/

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