【问题标题】:RecyclerView Adapter inside Fragment片段内的 RecyclerView 适配器
【发布时间】:2021-07-24 23:35:50
【问题描述】:

我在 Firebase OnCompleteListener 的片段中设置了一个回收器适配器。所以,问题是当我在片段之间快速导航(通过导航视图)时,我有一个错误“java.lang.IllegalStateException:片段未附加到活动”。 Android Studio 给了我那行代码的链接:

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

据我了解,主要问题是

requireActivity()

我找到了一些解决方案:

view.getContext()

requireContext()

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

【问题讨论】:

  • 发布完整的课程,你打电话给recyclerView.setAdapter

标签: java android firebase android-recyclerview


【解决方案1】:

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

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

更好的方式:

你应该在你的适配器中添加一个方法来传递数据:

OnViewCreated 中:

adapter = new AdapterRV(requireActivity())

数据何时收到

adapter.submitList(listLeft, listRight)

另一种方式:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-11
    • 1970-01-01
    • 2020-07-29
    相关资源
    最近更新 更多