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")
}
})
}
}
是不是在setLayoutManager出问题了?