recycleview加载数据不正常

gridlayoutmanager 也是只显示横列 不水平排列,但是点击事件正常
数据 代码如下,并加一个问题展示图片图片描述

数据
MerchTypeBean(code=200, msg=获取成功, list=[Item6(industryId=1, name=超市), Item6(industryId=2, name=便利店), Item6(industryId=3, name=餐饮), Item6(industryId=4, name=休闲娱乐), Item6(industryId=6, name=生活服务), Item6(industryId=7, name=教育培训), Item6(industryId=8, name=医疗健康), Item6(industryId=9, name=航旅), Item6(industryId=10, name=互联网), Item6(industryId=11, name=其他)])

                               
      代码
      class RyAdapter(val items: MerchTypeBean,
            val itemClick: onItemClick
            )
: RecyclerView.Adapter<RyAdapter.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {

   val view = LayoutInflater.from(parent.context)
           .inflate(R.layout.ry_item,parent,false)
    return ViewHolder(view, itemClick)
}

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
    holder.bindData(items)

}
override fun getItemCount(): Int = items.list.size

class ViewHolder(view: View, val itemClick: onItemClick)
    : RecyclerView.ViewHolder(view) {
    private val text_id: TextView
    private val text_name: TextView
    init {
        text_id = view.find(R.id.tv_id)
        text_name = view.find(R.id.tv_name)
    }
    fun bindData(data:MerchTypeBean) {
        with(data.list[position]) {
            text_id.text = "$industryId"
            text_name.text = "$name"
            itemView.setOnClickListener { itemClick() }
        }
    }
}

public interface onItemClick {
    operator fun invoke()
}

}

ry_list.layoutManager = GridLayoutManager(this,10)

    doAsync {
        val data =  Api().getIndust(url)
        uiThread {

            LogUtils.i(data.toString())
            ry_list.adapter = RyAdapter(data,object :RyAdapter.onItemClick{
                override fun invoke() {
                    toast("hello itemClick")
                }
            })
        }

    }

阅读 3.8k
4 个回答
新手上路,请多包涵

是不是在setLayoutManager出问题了?

超过三个字就折行了,检查下Layout-XML吧

新手上路,请多包涵

10列评分屏幕,不就是这样吗

新手上路,请多包涵
    LinearLayoutManager linearLayoutManager=new LinearLayoutManager(rootView.getContext());
    myEquipmentMonitorRecycleView.setLayoutManager(linearLayoutManager);
    
    可能这句话忘了写
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题