android - 为什么只有第一行显示使用 Recyclerview gridlayoutmanager

标签 android gridview android-recyclerview kotlin

适配器调用:

adherenceDetails.hasFixedSize()
                    adherenceDetails.layoutManager= GridLayoutManager(this@PatientPlanStatus,3)
                    adherenceDetails.adapter= PatientPlanDetails(this@PatientPlanStatus, patientPlanAdherenceData.data?.get(0)?.adherence!!)

适配器:

class PatientPlanDetails(var mcontext: Context, var patientDatas:ArrayList<AdherencePoJo>): RecyclerView.Adapter<RecyclerView.ViewHolder>() {

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

    val TAG="PatientPlanDetails"


    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): RecyclerView.ViewHolder {

        val v = LayoutInflater.from(mcontext).inflate(R.layout.patient_plan_adherence, parent, false)
        return Item(v)
    }

    override fun onBindViewHolder(holder: RecyclerView.ViewHolder?, position: Int) {

        //Log.i(TAG,"On Bind")
        (holder as Item).bindData(patientDatas.get(position),mcontext)


    }

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


        fun bindData(patienData: AdherencePoJo, context: Context) {

            val TAG="PatientPlanDetails"

        }

    }


}

getItemCount() 返回正确的大小。但只显示第一行。请查看图片enter image description here 卡片具有实际高度,但其中的项目不可见。 我也没有登录注销。

最佳答案

将您的patient_plan_adherence布局高度设为wrap_content

关于android - 为什么只有第一行显示使用 Recyclerview gridlayoutmanager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45474980/

相关文章:

java - 如何在AsyncTask中实现自定义ArrayList?

java - 具有多个适配器和 View 类型的 Recycler View 不工作

java - 在 Recyclerview 中滚动后,以前的数据会更新

android - 如何以编程方式检测应用程序是否在三星 "Edge"屏幕上运行?

android - 如何创建类似 gmail 的收件人(用户)自定义 View

android - 使用陀螺仪构建一个简单的 Android 360 视频播放应用程序

android - 某些设备上的位置读数错误/准确性不佳

c# - 使用 XmlNode.Attributes 填充文本框

html - 关于如何在 CSS 中实现 GridView 的任何想法? - CSS

java - RecyclerView 项目内容混淆