Android. Программирование для профессионалов. 4-е издание


Листинг 9.10. Извлечение представления в конструктор



Download 21,53 Mb.
Pdf ko'rish
bet147/485
Sana13.07.2022
Hajmi21,53 Mb.
#787165
1   ...   143   144   145   146   147   148   149   150   ...   485
Bog'liq
Android Programmirovanie dlya professionalov 4-e izdanie 2020 Fillips Styuart Marsikano Gardner

Листинг 9.10. Извлечение представления в конструктор
(CrimeListFragment.kt)
private inner class CrimeHolder(view: View)
: RecyclerView.ViewHolder(view) {
 
 
 
 
val 
titleTextView: 
TextView 
=
itemView.findViewById(R.id.crime_title)
 
 
 
 
val 
dateTextView: 
TextView 
=
itemView.findViewById(R.id.crime_date)
}
Обновленный холдер представления в настоящее время
хранит ссылки на названия и даты, так что вы можете легко
изменить отображаемое значение через иерархию элемента
(рис. 9.8).


Рис. 9.8. Повторная визуализация ViewHolder
Обратите внимание, что 
CrimeHolder
предполагает, что
представление, передаваемое в конструктор, имеет дочерние
текстовые 
представления 
с 
идентификаторами
R.id.crime_title
и 
R.id.crime_date
. Вы можете задать
вопрос, кто (или что) создает экземпляры холдеров и можно ли
с уверенностью предположить, что иерархия, передаваемая в
конструктор, содержит дочерние виджеты. Мы ответим вам
через мгновение.
Реализация адаптера для заполнения RecyclerView
На рис. 9.7 все несколько упрощено. Класс 
RecyclerView
не
создает 
ViewHolder
сам по себе. Вместо этого используется
адаптер. Адаптер представляет собой объект контроллера,
который находится между 
RecyclerView
и наборами данных,
которые отображает 
RecyclerView
.
Адаптер выполняет следующие функции:
• создание необходимых 
ViewHolder
по запросу;
• связывание 
ViewHolder
с данными из модельного слоя.
Утилизатор выполняет следующие функции:
• запрашивает адаптер на создание нового 
ViewHolder
;


• запрашивает адаптер привязать 
ViewHolder
к элементу
данных на этой позиции.
Пришло время создать свой адаптер. Добавим новый
внутренний класс 
CrimeAdapter
в 
CrimeListFragment
.
Добавьте первичный конструктор, который получает на вход
список преступлений и хранит список прошлых преступлений,
как показано в листинге 9.11.
В своем новом 
CrimeAdapter
вы также собираетесь
переопределить три функции: 
onCreateViewHolder(...)
,
onBindViewHolder(...)
и 
getItemCount()
. Чтобы пожалеть
ваши пальцы, Android Studio сгенерирует эти переопределения
сама. Когда вы наберете начальную строку нового кода,
поместите курсор на 
CrimeAdapter
и нажмите кнопку 

Download 21,53 Mb.

Do'stlaringiz bilan baham:
1   ...   143   144   145   146   147   148   149   150   ...   485




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish