当前位置: 首页 > 知识库问答 >
问题:

E/RecyclerView:未连接适配器;跳过布局Kotlin Android

邹缪文
2023-03-14

我已经创建了一个片段,在该片段中有一个recycle view,但是当我的片段被加载时,什么也没有显示,它给出了这个错误“E/recycle view:没有连接适配器;跳过布局”。下面是适配器和片段类的代码,任何帮助都将不胜感激

适配器类:

class ViewAllRecipeAdapter(private val newList: ArrayList<Recipes>) :
    RecyclerView.Adapter<ViewAllRecipeAdapter.MyViewHolder>() {


    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
        val itemView = LayoutInflater.from(parent.context).inflate(R.layout.view_all_recipe_item, parent, false)

        return MyViewHolder(itemView)
    }

    override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
        val currentItem = newList[position]
        holder.recipeName.text = currentItem.recipeName
        holder.recipeDesc.text = currentItem.recipeDescription
    }

    override fun getItemCount(): Int {
        return newList.size
    }

    class MyViewHolder(itemview: View) : RecyclerView.ViewHolder(itemview) {

        val recipeName: TextView
        val recipeDesc: TextView

        init {
            recipeName = itemView.findViewById<View>(R.id.recipe_name) as TextView
            recipeDesc = itemView.findViewById<View>(R.id.recipe_description) as TextView
        }
    }
}

片段类:

class ViewAllMyRecipesFragment : Fragment() {


    private lateinit var recyclerview: RecyclerView
    private lateinit var recipeData: ArrayList<Recipes>

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        val view: View = inflater.inflate(R.layout.fragment_view_all_my_recipes, container, false)

        recipeData = dummygenerator(10)

        recyclerview = view.findViewById<RecyclerView>(R.id.recycler_view_all_recipes)
        recyclerview.adapter = ViewAllRecipeAdapter(recipeData)
        recyclerview.layoutManager = LinearLayoutManager(view.context)
        recyclerview.setHasFixedSize(true)

        // Inflate the layout for this fragment
        return view
    }

    private fun dummygenerator(size: Int) : ArrayList<Recipes>{
        val list = ArrayList<Recipes>()

        for(i in 0 until size) {
            val drawable = when (i % 3) {
                0 -> "recipeName " +i
                1 -> "recipeDescription " + i
                else -> "Else " +i
            }

            val item = Recipes("title $i", "body")
            list += item
        }

        return list
    }

}

fragment _ view _ all _ my _ recipes . XML

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".ui.recipe.ViewAllMyRecipesFragment">


    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recycler_view_all_recipes"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:listitem="@layout/view_all_recipe_item" />

</androidx.constraintlayout.widget.ConstraintLayout>

view_all_recipe_item.xml

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/recipe_image"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_marginEnd="331dp"
        android:layout_marginBottom="651dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:srcCompat="@tools:sample/avatars" />

    <TextView
        android:id="@+id/recipe_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="25dp"
        android:text="TextView"
        android:textStyle="bold"
        android:textSize="18sp"
        app:layout_constraintStart_toEndOf="@+id/recipe_image"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/recipe_description"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginTop="10dp"
        android:text="TextView"
        app:layout_constraintStart_toEndOf="@+id/recipe_image"
        app:layout_constraintTop_toBottomOf="@+id/recipe_name" />


</androidx.constraintlayout.widget.ConstraintLayout>

共有1个答案

强保臣
2023-03-14

尝试将“所有在创建视图”逻辑移动到“在视图上创建”和

recyclerview.layoutManager = LinearLayoutManager(requireActivity())
recyclerview.adapter = ViewAllRecipeAdapter(recipeData)

因为有时它会导致问题时布局管理器是适配器之后。

 类似资料:
  • 当应用程序启动时,我得到一个空白屏幕,当我检查日志时,我得到:E/回收人员视图:没有连接适配器;跳过布局错误 我不知道为什么?任何想法,它似乎没有附加回收器视图或添加任何数据,我附加了Main活动、DataAdapter和数据类。 主要活动 数据适配器 下面是我的数据类,将从中提取数据 我ncluded.java 收集器和设置器 这是jsonResponse类,在接口中引用 感谢任何帮助。

  • 我制作了一个基本的购物清单应用程序,它利用回收器视图来显示列表项目。我正在尝试使用带有片段的导航添加设置屏幕。我遇到了我的回收器视图的问题 主活动.kt HomeFragment.kt 设置Fragment.kt activity_main.xml fragment\u home.xml navigation.xml 不确定是否需要更多信息。提前道歉-我是android studio的新手

  • 一切正常,但数据没有显示。 但是当我签入“logcat”时,我发现了这个错误消息: 2021 10月20日11:29:37.387 7327-7327/com。实例myplay E/RecyclerView:未连接适配器;跳过布局 2021-10-20 11:29:37.388 7327-7327/com.example.myplayE/RecyClerView:未连接适配器;跳过布局 主要活动。

  • 我正在使用Firebase数据库开发一个带有片段和回收器视图的应用程序。我希望该应用程序从数据库中获取数据并将其显示在片段布局中。我非常认为我的代码很好,应该可以正常工作。 我得到错误日志 我在其他问题和论坛上尝试了一切。 这是我的家。java代码: } 我的适配器类: } 我在这方面陷入了困境。提前感谢。

  • 我想从火力点实时数据库显示图片。(带有加密图像(字符串))类似加密图像是“照片” 函数loadPhoto() 问题出在哪里?我连接adapter和recyclerview,并设置GridManager。

  • 问题内容: 任何人都可以在这里提供解决方案的错误信息 E / RecyclerView:未连接适配器;跳过布局 这是我的文件。 OneFragment.java MyRecyclerViewAdapter.java FeedItem.java 以下是我的xml文件。 list_row.xml fragment_one.java 让我知道您是否需要任何文件 提前致谢。 请充分满足需求。 问题答案: