Как убрать ошибку kotlin.UninitializedPropertyAccessException: свойство lateinit?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как убрать ошибку kotlin.UninitializedPropertyAccessException: свойство lateinit?

Сообщение Anonymous »


У меня есть класс адаптера и экземпляр с именем imageResources. Я объявил его поздно, а позже даже убедился, что он задан. значение, но я все равно получаю эту ошибку. Ниже приведен код моего PractiseAdapter.kt

import android.graphics.Color импортировать android.view.LayoutInflater импортировать android.view.View импортировать android.view.ViewGroup импортировать android.widget.ImageView импортировать android.widget.TextView импортировать android.widget.Toast импортировать androidx.appcompat.widget.AppCompatButton импортировать androidx.cardview.widget.CardView импортировать androidx.recyclerview.widget.RecyclerView импортировать com.example.visuallithuanian.R импортировать com.example.visuallithuanian.Utils.shuffleList импортировать com.example.visuallithuanian.constants.ImageStore класс PractiseAdapter( btnShuffle: AppCompatButton, recyclerViewPractise: RecyclerView, ) : RecyclerView.Adapter() { lateinit var recyclerView: RecyclerView частная вар AnyCardIsGreen = ложь частный var selectedImageResource = -1 частный var selectedImageName = "" частный вар previousSelectedImageResource = -1 частный var previousSelectedImageName = "" lateinit var imageResources: MutableList lateinit var imageNames1: MutableList в этом { btnShuffle.setOnClickListener { imageResources = mutableListOf() imageNames1 = mutableListOf() btnShuffle.setOnClickListener { перетасовать карты() } } } личное развлечение shuffleCards() { imageResources = ImageStore.imagesNamesMap.keys.toList().shuffleList().toMutableList() imageNames1 = imageResources.mapNotNull { it -> пара значений = ImageStore.imagesNamesMap[it] пара?.let { Пара(пара.первая, пара.секунда) } }.toList().shuffleList().toMutableList() // Сбрасываем выбранное изображение и имя выбранныйImageResource = -1 выбранноеИмяИзображения = "" предыдущийSelectedImageResource = -1 previousSelectedImageName = "" // Сбрасываем цвет фона представлений cardImage на белый сбросCardImageBackgroundToWhite() уведомитьDataSetChanged() } весело initsetRecyclerView (recyclerView: RecyclerView) { this.recyclerView = recyclerView } личное развлечение resetCardImageBackgroundToWhite() { // Перебираем представления карточек и сбрасываем цвет фона cardImage на белый for (позиция от 0 до imageResources.size) { val Holder = recyclerView.findViewHolderForAdapterPosition (позиция) как? ПрактикаViewHolder держатель?.cardImagePractise?.setCardBackgroundColor(Color.WHITE) } } сопутствующий объект { val GREEN_COLOR = Color.parseColor("#ABEBC6") } переопределить удовольствие onCreateViewHolder (родитель: ViewGroup, viewType: Int): PractiseViewHolder { val view = LayoutInflater.from(parent.context) .inflate(R.layout.item_practise_cards, родительский, false) вернуть PractiseViewHolder(просмотр) } переопределить удовольствие getItemCount(): Int = imageResources.size переопределить удовольствие onBindViewHolder (владелец: PractiseViewHolder, позиция: Инт) { val imageResource = imageResources[позиция] val imageName1 = imageNames1[позиция] Holder.imageViewPractise.setImageResource(imageResource) Holder.textViewPractise.text = имя_изображения1.первый Holder.textViewPractise1.text = имя_изображения1.секунда Holder.cardImagePractise.setOnClickListener { selectedImageResource = imageResource previousSelectedImageResource = selectedImageResource выбранноеИмяИзображения = "" уведомитьDataSetChanged() Holder.cardImagePractise.setCardBackgroundColor(GREEN_COLOR) } Holder.cardTextPractise.setOnClickListener { если (selectedImageResource == -1) { Toast.makeText( это.контекст, "Сначала выберите карту изображения.", Тост.LENGTH_SHORT ).показывать() } еще { selectedImageName = imageNames1[позиция].first previousSelectedImageName = selectedImageName } уведомитьDataSetChanged() } val nameColor = if(imageNames1[position].first ==selectedImageName){ if(ImageStore.imagesNamesMap[selectedImageResource]?.first==selectedImageName){ Toast.makeText( держатель.itemView.контекст, "Выбрано правильное имя!", Тост.LENGTH_SHORT ).показывать() AnyCardIsGreen=истина Holder.cardTextPractise.setBackgroundColor(GREEN_COLOR) // Установка зеленого фона для визитной карточки Цвет.ЗЕЛЕНЫЙ } еще { Toast.makeText( держатель.itemView.контекст, "Выбрано неправильное имя!", Тост.LENGTH_SHORT ).показывать() Красный цвет } } еще { Holder.cardTextPractise.setBackgroundColor(Color.WHITE) Белый цвет } Holder.cardTextPractise.setBackgroundColor(nameColor) // Проверяем, зеленая ли карта, и соответственно устанавливаем AnyCardIsGreen } класс PractiseViewHolder(itemView: View): RecyclerView.ViewHolder(itemView) { val cardImagePractise: CardView = itemView.findViewById(R.id.cardImagePractise) val cardTextPractise: CardView = itemView.findViewById(R.id.cardTextPractise) val imageViewPractise: ImageView = itemView.findViewById(R.id.imageViewPractise) val textViewPractise: TextView = itemView.findViewById(R.id.textViewPractise) значение textViewPractise1: Т Это Икс т В я Это В = я т Это м В я Это В . ж я н д В я Это В Б и я д ( р . я д . т Это Икс т В я Это В п р а с т я с Это 1 ) } } < / с О д Это > < / п р Это > < п > Б Это л О В я с т час Это с О д Это О ж м и С я н г л Это т О н с л а с с < с т р О н г > я м а г Это С т О р Это . к т < / с т р О н г > < / п > < п р Это > < с О д Это > я м п О р т с О м . Это Икс а м п л Это . в я с в а л л я т час в а н я а н . р я м п О р т с О м . Это Икс а м п л Это . в я с в а л л я т час в а н я а н . В т я л с . с час в ж ж л Это л я с т О б дж Это с т я м а г Это С т О р Это { п р я в а т Это в а л _ я м а г Это с Н а м Это с М а п = час а с час М а п О ж ( р . д р а В а б л Это . а ж р я с а т О п а я р ( & д в О т ; А ж р я с а & д в О т ; , & д в О т ; А ж р я к а & д в О т ; ) , р . д р а В а б л Это . а с я а т О п а я р ( & д в О т ; А с я а & д в О т ; , & д в О т ; А С я дж а & д в О т ; ) , р . д р а В а б л Это . Это в р О п Это т О п а я р ( & д в О т ; И в р О п Это & д в О т ; , & д в О т ; И в р О п а & д в О т ; ) , р . д р а В а б л Это . а н т а р т я с а т О п а я р ( & д в О т ; А н т а р с т я с а & д в О т ; , & д в О т ; А н т а р к т я д а & д в О т ; ) , р . д р а В а б л Это . а я р п л а н Это т О п а я р ( & д в О т ; А Это р О п л а н Это & д в О т ; , & д в О т ; л Эм-м-м к т в в а с & д в О т ; ) , р . д р а В а б л Это . а п п л Это 1 т О п а я р ( & д в О т ; А п п л Это & д в О т ; , & д в О т ; О б в О л и с & д в О т ; ) , р . д р а В а б л Это . к Это и т О п а я р ( & д в О т ; К Это и & д в О т ; , & д в О т ; р а к т а с & д в О т ; ) , р . д р а В а б л Это . с л Это Это п т О п а я р ( & д в О т ; т О с л Это Это п & д в О т ; , & д в О т ; м я Это г О т я & д в О т ; ) , р . д р а В а б л Это . с час О п п я н г т О п а я р ( & д в О т ; т О с час О п & д в О т ; , & д в О т ; а п с я п я р к т я & д в О т ; ) , р . д р а В а б л Это . с я н Это м а с с р Это Это н т О п а я р ( & д в О т ; т О В а т с час а м О в я Это & д в О т ; , & д в О т ; Ж я Эм-м-м р Эм-м-м т я ж я л м а & д в О т ; ) , р . д р а В а б л Это . г О с час О п п я н г т О п а я р ( & д в О т ; я г О с час О п п я н г & д в О т ; , & д в О т ; а с Это я н в а п с я п я р к т я & д в О т ; ) , р . д р а В а б л Это . В час а т 1 т О п а я р ( & д в О т ; В час а т я с я т ? & д в О т ; , & д в О т ; К а с т а я ? & д в О т ; ) , р . д р а В а б л Это . дж а п anesefood to Pair("Японская еда","Japonų maistas"), R.drawable.hotcoffee to Pair("горячий кофе","karšta kava"), R.drawable.eat to Pair("есть","валгити"), R.drawable.ofcourse to Pair("Конечно","Жинома"), R.drawable.rice to Pair("рис","ryžiai"), R.drawable.soup1 to Pair("суп","сриуба"), R.drawable.bread1 to Pair("Хлеб","Дуона"), R.drawable.water1 to Pair("water","vanduo"), R.drawable.glass1 to Pair("стакан","stiklinė"), R.drawable.apple1 to Pair("apple","obuolys"), R.drawable.cost to Pair("стоимость","kainuoti"), R.drawable.parents1 to Pair("parents","tėvai"), R.drawable.classmate to Pair("одноклассник","klasiokas"), R.drawable.friends1 to Pair("мои друзья","Мано драугай"), R.drawable.little to Pair("немного","šiek tiek"), R.drawable.go to Pair("Поехали","eikime!"), R.drawable.more to Pair("more","daugiau"), R.drawable.hand to Pair("hand","ranka"), R.drawable.stopsign to Pair("остановить","нустоти"), R.drawable.march to Pair("Март","Ковас"), R.drawable.february to Pair("Февраль","Вазарис"), R.drawable.january to Pair("Январь","Саусис"), R.drawable.saturday to Pair("Суббота","Шештадиенис"), R.drawable.friday to Pair("Пятница","penktadienis"), R.drawable.thursday to Pair("Четверг","Кетвиртадиенис"), R.drawable.wednesday to Pair("Среда","Тречиадиенис"), R.drawable.tuesday to Pair("Вторник","Антрадиенис"), R.drawable.monday to Pair("Monday","Pirmadienis"), R.drawable.sunday to Pair("Воскресенье","Секмадиенис"), R.drawable.autumn to Pair("осень","ruduo"), R.drawable.summer to Pair("Лето","vasara"), R.drawable.spring to Pair("Весна","pavasaris"), R.drawable.december to Pair("Декабрь","Груодис"), R.drawable.november to Pair("Ноябрь","lapkritis"), R.drawable.october to Pair("Октябрь","Спалис"), R.drawable.september to Pair("Сентябрь","Rugsėjis"), R.drawable.august to Pair("Август","Ругпьютис"), R.drawable.july to Pair("Июль","Лиепа"), R.drawable.june to Pair("Июнь","Биржелис"), R.drawable.may to Pair("May","Gegužė"), R.drawable.april to Pair("Апрель","Баландис"), R.drawable.march to Pair("Март","Ковас"), R.drawable.noon to Pair("Полдень","vidurdienis"), R.drawable.morning to Pair("Утро","rytas"), R.drawable.evening to Pair("вечер","вакары"), R.drawable.beforesleep to Pair("перед сном","prieš miegą"), R.drawable.halfaday to Pair("полдня","pusę dienos"), R.drawable.midnight to Pair("Полночь","vidurnaktis"), R.drawable.decade to Pair("decade","dešimtmetį"), R.drawable. Season to Pair("Сезон","сезоны"), R.drawable.year to Pair("Год","metai"), R.drawable.month в пару("Месяц","Меню"), R.drawable.day to Pair("day","diena"), R.drawable.winter to Pair("зима","žiema"), R.drawable.key to Pair(" period", "laikotarpį"), R.drawable.workday to Pair("workday","darbo diena"), R.drawable.weekend to Pair("weekend","savaitgalis"), R.drawable.twice to Pair("twice","du kartus"), R.drawable.once to Pair("once","vieną kartą"), R.drawable.week to Pair("week","savaitė"), R.drawable.tomorrow to Pair("завтра","rytoj"), R.drawable.today to Pair("Сегодня","šiandien"), R.drawable.inafternoon to Pair("днем","po pietų"), R.drawable.early to Pair("early","anksti"), R.drawable.late to Pair("late","vėlai"), ) val imagesИменаКарта: Map get() = _imagesNamesMap.toList().shuffled().take(4).toMap() } На этом изображении вы можете просмотреть содержимое изображения Logcatlogcat
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»