繁体   English   中英

片段内的 RecyclerView 适配器

[英]RecyclerView Adapter inside Fragment

我在 firebase OnCompleteListener 内的片段中设置了一个回收器适配器。 所以,问题是当我在片段之间快速导航时(通过导航视图),我有一个错误“java.lang.IllegalStateException: Fragment not attach to Activity”。 Android Studio 为我提供了该行代码的链接:

recyclerView.setAdapter(new AdapterRV(requireActivity(), listLeft, listRight));

据我了解,主要问题是

requireActivity()

我找到了一些解决方案:

view.getContext()

requireContext()

什么是适合我的案例? 或者可能有更好的方法来解决这个问题?

在您的场景应用程序抛出异常,因为一旦数据到达并且我们打算将它们传递给 recyclerview,您的片段将被分离并导致异常

在我看来,解决方案应该是这样的......

更好的方法 :

您应该向适配器添加一个方法来传递数据:

OnViewCreated 中

adapter = new AdapterRV(requireActivity())

收到数据时

adapter.submitList(listLeft, listRight)

其他方式 :

如果必须在数据到达后设置适配器,则需要在检查上下文是否不为空后调用适配器

if ( getContext() != null ) 
{
recyclerView.setAdapter(new AdapterRV(requireActivity(), listLeft, listRight));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM