Android: el calendar especial de Java / Kotlin aparece

Trabajo en el Calendario aparece en ListView Tengo una class de reference para los elementos

internal class MyItem { var name: String? = null var number: String? = null var nameDay:String? = null 

}

En MainActivity hago ArrayList para save elementos y get instancias del calendar

 private var arrayList: ArrayList<MyItem>? = null private var cal:Calendar= Calendar.getInstance() 

y llamada de function de onCreate a ArrayList lleno como este

 private fun loaddata() { 

varible nos trae exactamente el número de días del mes

 var maxDays:Int = cal.getActualMaximum(Calendar.DAY_OF_MONTH) 

varible nos trae una date completa

 var today:Int = cal.get(Calendar.DATE) 

algunos de FormatSimpleDate

 var sdfDay:SimpleDateFormat = SimpleDateFormat("dd") var sdfNamDay:SimpleDateFormat = SimpleDateFormat("E") var sdfMonth:SimpleDateFormat = SimpleDateFormat("MMM") 

luego hago loop por 45 días

 for( i in 0.. 45){ val myItem = MyItem() myItem.name = sdfMonth.format(cal.time) myItem.number = sdfDay.format(cal.time) myItem.nameDay = sdfNamDay.format(cal.time) cal.add(Calendar.DATE,1) arrayList!!.add(myItem) } 

La salida puso similar que

 AUG Wed 30 / AUG Thu 31 / Sep Fri 01 / Sep Sat 02 / ... / Sep Sat 30 / Oct Sun 01 / Oct Mon 02 / etc 

la function funciona perfectamente sin ningún error Pero quiero que aparezca en la primera fila mes-día en la segunda fila comience a mostrar solo el día hasta el mes cambie si el mes cambia a la siguiente muestra en la fila mes y día en la siguiente fila solo muestra el día Me gusta esta

 AUG Wed 30 / Thu 31 / Sep Fri 01 / Sat 02 / ... / Sat 30 / Oct Sun 01 / Mon 02 / etc 

hago más de una statement if
pero no hace bien

Puede alguien ayudarme por favor