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

Recyclerview未显示kotlin[副本]

桑博远
2023-03-14

recyclerview没有显示在屏幕上,只是显示白色背景。

有什么错误吗?请告诉我,谢谢。

Adapter
class NeedsAdapter(var context: Context) : RecyclerView.Adapter<NeedsAdapter.ViewHolder>() {

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): NeedsAdapter.ViewHolder {
        var view = View.inflate(parent.context, R.layout.needs_item, null)
        var parms = ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
        view.layoutParams = parms
        return ViewHolder(view)
    }

    override fun getItemCount(): Int {
        return 10;
    }

    override fun onBindViewHolder(holder: ViewHolder, position: Int) {
    }


    class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {

    }

}

片断

class NeedsFragment : Fragment() {

    private lateinit var adapter: NeedsAdapter
    private lateinit var layout: View
    private lateinit var recyclerView: RecyclerView
    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        // Inflate the layout for this fragment
        layout = inflater.inflate(R.layout.fragment_needs, container, false)
        adapter = NeedsAdapter(this!!.activity!!)
        recyclerView = layout.findViewById(R.id.recyclerview)
        recyclerView.addItemDecoration(DividerItemDecoration(context!!, LinearLayoutManager.VERTICAL))
        recyclerView.adapter = adapter
        adapter.notifyDataSetChanged()

        return view
    }

}

我只想显示recyclerview上的项目。

共有1个答案

季阳朔
2023-03-14

您错过了设置布局管理器

recyclerView.layoutManager = LinearLayoutManager(this, LinearLayoutManager.VERTICAL ,false)
 类似资料:
  • 我在StackOverflow上看到了一些类似的事件。然而,这些似乎都不适用于我的情况。我遇到的问题是,我的RecyclerView正在工作,但没有显示任何内容。我已经运行了多个测试,试图找出它不工作的原因,但所有测试都支持它正常工作的事实。 getItemCount中的日志返回3,这是正确的数字。我只是不明白为什么它没有显示。我回头看了我在以前的活动中做的回收器视图,它们都在一定程度上匹配(其他

  • 我想了解为什么我不能在LinearLayoutManager上使用scrollToPositionWithOffset方法?请看图片了解我的意思: 一点背景: 图像中的第一行(带有)是滚动RecyclerView以使位置(在本例中为50)可见-这通常意味着所选位置显示在可见的RecyclerView的底部(其中位置50在“滚动”后首先可见)。而我总是想在顶部展示它。根据我的研究,使用这个方法似乎是

  • 我试图在一个对话框中的recyclerView中显示数据,数据是从HTTP请求获取的。 我验证了适配器是否获得了数据——我在适配器中打印了数组长度,结果很好,但由于某些原因它不会显示数据——我所能看到的只是一个空白区域,recyclerView应该在那里。 重要提示:该应用程序运行良好,运行时没有错误或其他问题,回收器视图不存在。 xmi文件:

  • 这是一个XML,当我使用ScrollViewRecyclerView,如果不在XML 那么原因是什么呢?

  • 我有方法: 将图像添加到我的recyclerview。如果它在活动中,我会在OnCreate中调用initImageBitmaps()。不幸的是,我必须在片段中使用它,问题是:如何将这些方法实现到扩展片段的类?当然,所有内容都将显示在RecyclerView中,并带有xml中的recycler\u视图id。 编辑:我的适配器: 它仅在注释mContext=context时编译 在适配器中。那么错误

  • 我在ScrollView中有一个这样的RecyclerView: 的项目是一个,其中有一个和其他视图。该和的都是。用户可以在没有任何长度/行限制的情况下输入到该中,以便每个项目的高度都不同。 然后我发现中的返回真值,但调用的时间错误(少于应有的时间),因此不足以显示所有项目。 我发现只有当我编写了时才会发生这种情况。但是我不能删除这一行。因为如果我这样做了,将无法流畅滚动,并且与和本身内的其他视图