как показать конкретный вид текста в виде списка в зависимости от позиции элемента kotlin - PullRequest
0 голосов
/ 18 ноября 2018

Я новичок в , и я создал простое приложение, которое показывает рейсы по расписанию с использованием данных JSON.Я использовал ListView и все работает нормально.но я хочу добавить TextView в мой ListView.Например, когда пользователь прокручивает вниз ListView TextView, который я хочу показать в зависимости от позиции, которую я хотел в ListView.

Например, этот ListView показывает дату в середине ListView

image

Так можно ли выбрать, какую позицию я хочу показать в 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
    }    
}

1 Ответ

0 голосов
/ 18 ноября 2018

Вы можете проверить позицию в методе getView, затем вы можете визуализировать вид динамически в соответствии с текущей позицией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...