{"title":"class NewsTitleFragment:Fragment() {\n\tprivate lateinit var newsTitleRecyclerView:RecyclerView\n\tprivate var isTwoPane=false\n\toverride fun onCreateView(\n\t\tinflater: LayoutInflater,\n\t\tcontainer: ViewGroup?,\n\t\tsavedInstanceState: Bundle?\n\t): View? {\n\t\tval view=inflater.inflate(R.layout.news_title_frag,container,false)\n\t\tnewsTitleRecyclerView=view.findViewById(R.id.newsTitleRecyclerView)\n\t\tval fragmentManager = supportFragmentManager\n\t\tval newsContentFrag = fragmentManager.findFragmentById(R.id.newsContentFrag)\n\t\treturn view\n\t}\n}\n中supportFragmentManager报错内容:在Fragment中,无法直接使用supportFragmentManager来获取FragmentManager。正确的方式是使用requireActivity().supportFragmentManager来获取FragmentManager。\n\n修改后的代码如下:\n\nkotlin\nclass NewsTitleFragment: Fragment() {\n\tprivate lateinit var newsTitleRecyclerView: RecyclerView\n\tprivate var isTwoPane = false\n\n\toverride fun onCreateView(\n\t\tinflater: LayoutInflater,\n\t\tcontainer: ViewGroup?,\n\t\tsavedInstanceState: Bundle?\n\t): View? {\n\t\tval view = inflater.inflate(R.layout.news_title_frag, container, false)\n\t\tnewsTitleRecyclerView = view.findViewById(R.id.newsTitleRecyclerView)\n\t\tval fragmentManager = requireActivity().supportFragmentManager\n\t\tval newsContentFrag = fragmentManager.findFragmentById(R.id.newsContentFrag)\n\t\treturn view\n\t}\n}\n\n\n这样就可以正确获取到FragmentManager了。

Android Fragment 中获取 FragmentManager 的正确方法 - 错误解决指南

原文地址: http://www.cveoy.top/t/topic/qbrV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录