0

我的问题仅与谷歌导航组件库中的新库有关,因此它与 .addtobackstack 等常规片段无关。

我会简化我想做的事情,但我的应用程序有 +30 片段

我们有一个父片段和一个子片段,一个父片段有选项卡和回收器视图,数据来自 API。如果我单击 RV 项目将打开子片段。如果我回到我想要的父片段,我不想再次加载数据。

我的测试总是从头开始重新加载,创建视图然后加载数据,我希望它就像我们有意打开新活动时一样,父活动仍然有他自己的视图。

这是我的一些代码也许我有问题

   val host: NavHostFragment = supportFragmentManager
            .findFragmentById(R.id.main_activity_host_fragment) as NavHostFragment? ?: return 

class ParentFragment : Fragment() {
    var mEmail: String = ""
    var mPassword: String = ""
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

    }

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        // Inflate the layout for this fragment
        var rootView: View = inflater.inflate(R.layout.fragment_parent, container, false)

setupViews(rootView)
        loadDataFromServer()

        rootView.text_clickable_to_sign_up_from_sign_in.setOnClickListener {
            findNavController().navigate(R.id.child_frag_dest, null, null)
        }
        return rootView

    }}
...
4

0 回答 0