gpt4 book ai didi

java.lang.IllegalStateException : Fragment has not been attached yet Android Studio

转载 作者:行者123 更新时间:2023-12-02 03:41:09 26 4
gpt4 key购买 nike

我需要在按下按钮时删除QRCode扫描 View 这是我的代码:

 public void back() {
if (binding.vpPager.getCurrentItem() == 1) {
binding.vpPager.setCurrentItem(0);
}
else
{
scanQRcodeFragment = new ScanQRcodeFragment();
scanQRcodeFragment.removeFragmentReader();
}
}

要使用的函数:

public class ScanQRcodeFragment extends Fragment implements BarcodeReaderFragment.BarcodeReaderListener{
public void removeFragmentReader() {
FragmentManager supportFragmentManager = getChildFragmentManager();
FragmentTransaction fragmentTransaction = supportFragmentManager.beginTransaction();
Fragment fragmentById = supportFragmentManager.findFragmentById(R.id.container);
if (fragmentById != null) {
fragmentTransaction.remove(fragmentById);
}
fragmentTransaction.commitAllowingStateLoss();
}}

当我运行该应用程序时,它崩溃并收到此错误:

java.lang.IllegalStateException: Fragment has not been attached yet. at android.support.v4.app.Fragment.instantiateChildFragmentManager(Fragment.java:2383)

我发现很多问题都有同样的问题,但没有人解决我的问题。

我需要你的帮助。

最佳答案

您正在尝试使用尚未实例化的其他对象来删除该 fragment 。 scanQRcodeFragment = new ScanQRcodeFragment(); 这里您正在实例化一个未添加的新对象,您需要添加的 fragment 的引用才能将其删除。

关于java.lang.IllegalStateException : Fragment has not been attached yet Android Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56835934/

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