gpt4 book ai didi

java - 从 fragment 内部打开 fragment ,而不出现先前的 fragment UI

转载 作者:太空宇宙 更新时间:2023-11-04 09:39:18 24 4
gpt4 key购买 nike

我正在尝试从 fragment (UpcomingFragment)内部打开 fragment (PageFragment)。

当我打开 fragment 时,之前的 fragment UI 仍然存在,我不希望这样。

我尝试了 .getSupportFragmentManager() 和 GetChildFragmentManager() ,但都没有解决问题。并且在此处查看模拟线程,我无法得到工作结果。

mRecyclerAdapter.setItemClickListener(new CardOnClicked() {
@Override
public void onCardClicked(int position) {
Log.d(TAG, "Test");

Fragment pageView = new PageFragment();


FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction()

// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack so the user can navigate back
transaction.replace(R.id.frag, pageView);
transaction.addToBackStack(null);
transaction.commit();


}
});

您可以在这里找到我的 Github 存储库:

https://github.com/KyleGwynDavies/aTV

你可以在这里看到问题

/image/Tp9Kz.jpg

最佳答案

两个 fragment 不应该直接通信。所有通信都需要通过宿主 Activity 来完成。为此,请使用接口(interface)。

创建界面:

public interface IMainActivity {
void navigateFragment();
}

将接口(interface)添加到适配器重写 onAttachedToRecyclerView:

private IMainActivity mInterface;

@Override
public void onAttachedToRecyclerView(@NonNull RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
//instantiate interface when view attach to the recycler view
mInterface = (IMainActivity) mContext;
}

holder.cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mInterface.navigateFragment();
}
});

最后,实现 MainActivity 的接口(interface)并重写该方法,然后添加您的 fragment 。

 @Override
public void navigateFragment() {
mViewProfileFragment = new ViewProfileFragment();

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.add(R.id.main_content_frame, mViewProfileFragment, getString(R.string.tag_fragment_view_profile));
transaction.commit();
}

关于java - 从 fragment 内部打开 fragment ,而不出现先前的 fragment UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56154411/

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