2017-08-03 28 views
1

適配器呼叫表示:爲什麼只有第一行是使用Recyclerview gridlayoutmanager

adherenceDetails.hasFixedSize() 
        adherenceDetails.layoutManager= GridLayoutManager([email protected],3) 
        adherenceDetails.adapter= PatientPlanDetails([email protected], 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 卡片具有實際高度,但其內部的項目不可見。 我在登出時也沒有登錄。

+1

請分享您的XML代碼。 –

+0

這是因爲你已經提供了回收視圖高度作爲match_parent應該是wrap_content或者嘗試一些固定值,如100dp,如果wrap_content不起作用。 – Avi

回答

1

讓您patient_plan_adherence佈局高度WRAP_CONTENT

相關問題