Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Kotlin AS ошибка инициализации/не видит метод findViewById

pesec pesec Ученик (204), на голосовании 4 месяца назад
пытаюсь в классе который наследуют вроде как функцию вызвать метод(как прочитал не видит т.к. я не наследую класс с этой функцией), вопрос в том как мне сделать или обойти это
Голосование за лучший ответ
Sergio 2.1 Оракул (67293) 5 месяцев назад
 import android.view.LayoutInflater 
import android.view.View
import android.view.ViewGroup
import android.widget.EditText
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import org.jetbrains.annotations.NotNull

class Adapter : RecyclerView.Adapter() {

var list: ArrayList = ArrayList()
lateinit var serch_line: TextView

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): SearchHistoryItemViewHolder {
// Создание ViewHolder используя файл вёрстки
val itemView = LayoutInflater.from(parent.context).inflate(R.layout.your_item_layout, parent, false)
return SearchHistoryItemViewHolder(itemView)
}

override fun getItemCount(): Int {
// Возвращаем количество элементов в списке
return list.size
}

fun setLastSearch(view: View) {
// Пример использования findViewById в методе Activity или Fragment
val textView: TextView = view.findViewById(R.id.nameTextView)
textView.text = "Some Text"
}

inner class SearchHistoryItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val serch_line: TextView = itemView.findViewById(R.id.searchHandle)

fun bind(data: String) {
// Привязка данных к элементу View
serch_line.text = data
}
}

override fun onBindViewHolder(holder: SearchHistoryItemViewHolder, position: Int) {
holder.bind(list[position])
}
}
Похожие вопросы