首页 > 解决方案 > Kotlin RecyclerView 没有附加适配器

问题描述

我一直在为我正在做的项目开发一个应用程序,几周前我开始使用 Kotlin。我正在尝试在 NodeJS API 的帮助下将来自 MySQL 数据库的信息显示到两个 RecyclerView 拆分为偶数列和奇数列。但显然它给了我E/RecyclerView: No adapter attached; skipping layout 两次因为两个 RecyclerViews 代码在 github repo - https://github.com/C-Min-Min/Electry-Android-App 主要部分是:RecyclerViews 所在的页面应用程序在 - layout/fragment_devices.xml 下,带有 java/fragments/DevicesFragment.kt 用于获取应用程序信息的 API 在 - java/API/ 下,带有适配器 java/Adapter/ NodeJS api 在 Android 应用程序文件夹之外并且您可以node index.js 在命令提示符下运行该数据库位于任何名为electricry.sql 的文件夹之外

如果有人想看看或知道如何解决它,请帮助提前谢谢

如果您想查看代码的任何部分但不想打开 repo,请询问我会给它

标签: androidkotlinandroid-recyclerview

解决方案


自己找到了解决方案:由于我的 recyclerviews 在片段中,因此片段的 kotlin 文件中的适配器连接必须不同,而不是在 onCreate 中,而是在 onCreateView 中:

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

        val recyclerView = view.findViewById<RecyclerView>(R.id.odd_list)
        oddDevices = OddDevices.createOddDeviceList(5)

        val adapter = OddDeviceAdapter(oddDevices)

        //recyclerView.hasFixedSize(true)
        recyclerView.layoutManager = LinearLayoutManager(view.context)
        recyclerView.adapter = adapter

        return view
    }

推荐阅读