如何根据位置项目kotlin在列表视图中显示特定文本视图
我是新来的,我构建了一个简单的应用程序,通过如何根据位置项目kotlin在列表视图中显示特定文本视图,kotlin,android,listview,Kotlin,Android,Listview,我是新来的,我构建了一个简单的应用程序,通过JSON数据显示航班计划。我使用了ListView,一切正常。但是我想在我的列表视图中添加TextView。例如,当用户向下滚动ListView时,我想显示的TextView取决于我想在ListView中显示的位置 例如,此ListView在ListView 因此,我可以根据位置选择要在ListView中显示的元素的位置吗 例如,在项目位置36之后,我显示了我想要的元素 override fun getCount(): Int { retur
JSON
数据显示航班计划。我使用了ListView
,一切正常。但是我想在我的列表视图中添加TextView
。例如,当用户向下滚动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
}
}
类ListAdapteDep(val上下文:MainActivity,val列表:ArrayList):BaseAdapter(){
@SuppressLint(“视图持有者”、“新API”)
覆盖有趣的getView(p0:Int,convertView:View?,父级:ViewGroup?):视图{
val view:view=LAYOUTINGFLATER.from(上下文)。充气(R.layout.dep_列表,父级,false)
val list=list[p0]
val LogoAriline=view.findViewById(R.id.logo\u图像)作为ImageView
val status=view.findViewById(R.id.status\u id)作为AppCompatTextView
val Airport=view.findViewById(R.id.airportid)作为AppCompatitTextView
val code=view.findViewById(R.id.code\u id)作为AppCompatTextView
val TimeFlight=view.findViewById(R.id.time\u id)作为AppCompatitTextView
view.callsign\u id.text=list.callsign
view.airline\u id.text=list.airline
code.text=list.code
view.status\u id.text=list.status
status.text=list.status
TimeFlight.text=getDateTime(list.TimeFlight)
Airport.text=list.Airport
view.model\u id.text=list.model
//我想显示的文本视图取决于我想在项目计数中显示的位置
val date=view.findViewById(R.id.time\u id)作为AppCompatTextView
date.text=getDateTime(list.date)
返回视图
}
private fun getDateTime(s:String):字符串{
试一试{
val sdf=简化格式(“KK:mm a”)
val netDate=日期(s.toLong()*1000)
返回sdf.format(netDate)
}捕获(e:例外){
返回e.toString()
}
}
覆盖趣味getItem(p0:Int):任意{
返回列表[p0]
}
覆盖有趣的getItemId(p0:Int):长{
返回p0.toLong()
}
重写fun getCount():Int{
返回36
}
}
您可以在getView
方法中检查位置,然后可以根据当前位置动态渲染视图。您可以在getView
方法中检查位置,然后可以根据当前位置动态渲染视图,如下所示if(p0==25){Airport.setText(“test”)}