Я новичок в kotlin , и я создал простое приложение, которое показывает рейсы по расписанию с использованием данных JSON
.Я использовал ListView
и все работает нормально.но я хочу добавить TextView
в мой ListView
.Например, когда пользователь прокручивает вниз ListView
TextView
, который я хочу показать в зависимости от позиции, которую я хотел в ListView
.
Например, этот ListView
показывает дату в середине ListView
Так можно ли выбрать, какую позицию я хочу показать в ListView
в зависимости от позиции?
Например, после элементаПозиция 36 Я показываю элемент, который я хочу.
override fun getCount(): Int {
return 36
}
Мой код для ListAdapter
class ListAdapteDep (val context: MainActivity, val list: ArrayList<FlightShdu>): BaseAdapter() {
@SuppressLint("ViewHolder", "NewApi")
override fun getView(p0: Int, convertView: View?, parent: ViewGroup?): View {
val view : View = LayoutInflater.from(context).inflate(R.layout.dep_list,parent,false)
val list = list[p0]
val LogoAriline = view.findViewById(R.id.logo_image) as ImageView
val status = view.findViewById(R.id.status_id) as AppCompatTextView
val Airport = view.findViewById(R.id.airportid) as AppCompatTextView
val code = view.findViewById(R.id.code_id) as AppCompatTextView
val TimeFlight = view.findViewById(R.id.time_id) as AppCompatTextView
view.callsign_id.text=list.Callsign
view.airline_id.text=list.Airline
code.text = list.code
view.status_id.text=list.Stauts
status.text= list.Stauts
TimeFlight.text = getDateTime(list.TimeFlight)
Airport.text= list.Airport
view.model_id.text=list.Model
//the text view l want to show depending on postion l want in item count
val date = view.findViewById(R.id.time_id) as AppCompatTextView
date.text = getDateTime(list.date)
return view
}
private fun getDateTime(s: String): String? {
try {
val sdf = SimpleDateFormat("KK:mm a")
val netDate = Date(s.toLong() * 1000)
return sdf.format(netDate)
} catch (e: Exception) {
return e.toString()
}
}
override fun getItem(p0: Int): Any {
return list [p0]
}
override fun getItemId(p0: Int): Long {
return p0.toLong()
}
override fun getCount(): Int {
return 36
}
}