Уроки по Kotlin на Android Studio 2020/Урок 6/ListView
Вставка
- Опубліковано 20 кві 2020
- Уроки по Kotlin на Android Studio 2020/Урок 6/ListView
Сегодня мы поговорим про ListView и как с помощью этого View мы будем показывать списки в наших приложениях, еще мы поговорим про ArrayAdapter и о том как в Kotlin можно обойтись без использования findViewById().
Так что если вы решили начать изучать язык Kotlin для создания мобильных приложений под android то вы пришли по адресу!
★ ★ ★ ★ ★ ★ ▼Первые уроки▼★ ★ ★ ★ ★ ★ ★
►Урок 1: • Уроки по Kotlin на An...
►Урок 2: • Уроки по Kotlin на An...
►Урок 3: • Уроки по Kotlin на An...
►Урок 4: • Создаем приложение "Св...
►Урок 5: • Уроки по Kotlin на An...
★ ★ ★ ★ ★ ★ ▼Моя веб страница▼★ ★ ★ ★ ★ ★ ★
►Моя веб страница: neco-desarrollo.es
►VK: htpps:// public189519480
►Телеграм: t.me/androidstudioneco
★ ★ ★ ★ ★ ★ ▼Поддержка канала▼★ ★ ★ ★ ★ ★ ★
►Поддержать канал донатом можно здесь: www.paypal.com/cgi-bin/webscr...
►Поддержать на Патреоне:www.patreon.com/bePatron?u=19...
#AndroidStudio #Kotlin #Android - Наука та технологія
До этого урока я никак не мог разобраться с этими адаптерами, листвью, вроде бы мы это писали, но я не мог почему-то все запомнить и понять, а сейчас все понял. Хорошо что вы эту тему отдельно разобрали.
Лучший канал на ютубе по данной тематике! Продолжай в таком же духе, ты большой молодец! Спасибо большое за твой труд!
Сергей спасибо вам огромное! У вас талант к обьяснению - очень хорошая подача материала. Я искал книгу по разработке Android на Kotlin - полноценную. В итоге понял что ваши видеО обьемнее, понятнее и полезнее чем те книги которые я рассматривал.
Большое спасибо тебе! Информативные видеоролики с подробным обьяснением.
Спасибо Сергей! Очень круто!
Ждем продолжения!!
Отличный урок! Спасибо большое!!!!
Продолжай! Жду с интересом и учусь.
Спасибо!
очень круто, спасибо за труды!
Спасибо больше за курс!
Сергей, спасибо Вам за труд! Ждём новых уроков, как отмены крепостного права)
С удовольствием прошел этот урок. Большое спасибо.
Спасибо
Очен полезний урок
Спасибо болшая
как всегда - отлично!
Как хорошо, что я нашел этот канал. В youtube много устаревшей информации по андроид разработке, а у вас все четко, не знаю мне кажется вы лучше всех разбираете все механизмы, никаких там (оо, да это просто, посмотрите в интернете, не буду заострять внимания), очень полезная информация. ПРОЦВЕТАНИЯ КАНАЛУ!!!
большое спасибо!
Никак не мог разобраться, столько времени убил. После вашего видео стало всё понятно и просто. Спасибо огромное.
Я рад что помог, спасибо!
Сергей, привет. Отличный урок, спасибо.
Привет, большое спасибо!
Доброго дня и огромное спасибо за Ваш труд! Надо выводить канал в топ!
Спасибо)
Кто ищёт по поиску и так находят канал. Тем паче есть и сарафанка.
Спасибо тебе большое!
Даже не заметил как 20 минут пролетели, безумно интересно и главное - все понятно. Знаю что сейчас моден и популярен RecyclerView, но видимо это будет в следующих уроках))
Привет, я рад что понравилось! Да RecyclerView будет на следующих уроках, он нужен только если много даннх, если не много нужно использовать ListView он проще
Повторение - мать учения.
Смотрю во время утренней зарядки твои уроки, т.к. уже пересмотрел все это у некоторых других. И у каждого свой способ подачи, на разные мелочи обращают внимание и узнаешь что-то новое, вспоминаешь забытое и понимаешь непонятое.
У тебя хорошо, что ты не тараторишь без повторов лишь побыстрее подать, а по нескольку раз пережевываешь, что позволяет усвоить сказанное.
Не знаю, как для первого раза, а вот для повторения во время зарядочки просто здорово.
А вот заметил ты отступы делаешь как-будто от балды, где добавишь лишний пробел, где как положено обычно. В этом смысл у тебя есть какой-то или это и так сойдет?
Пора на вьюбайдинг переписывать уроки.))
Спасибо на ViewBinding уже давно есть у меня уроки, это курс для начинающих 2021
Ты отвечаешь подписчикам почему у тебя нет 1 ляма подписчиков желаю тебе 1 лям подписчиков
Спасибо!
Добрый день!
Хотелось бы увидеть наглядный пример с RecyclerView с возможностью хранения и вывода большого набора данных, например, длинного списка городов с их мини-иконками.
Подобное реализовывал, но хотелось бы увидеть Ваш вариант.
Спасибо за труд!
Продолжайте в таком же духе, только до конца Чтобы мы все стали андроид разработчиками! Пожалуйста сделайте отдельно про adapter simple adapter spinner... чтобы все поняли
Хорошо
Классс! Спасибо.
Спасибо!
библиотека kotlinx.android.synthetic.main.activity_main удалена из котлина 1 ноября
Получаетя нужно снова писать через файндВьюБайАйди?
@@tralivali9729, сам недавно начал изучать Котлин. В большинстве обучалок используют именно эту библиотеку и тут такая с ней подстава.))) Еле сам разобрался что к чему.
Сейчас рекомендуемый инструмент для взаимодействия с XML - View Binding. Использование немного сложнее, чем с библиотекой Kotlin Android Extensions, но в перспективе это более правильный вариант работы. Тут подробнее - habr.com/ru/post/467295/ .
Если же всё же хочется пройти уроки по Котлину используя библиотеку Kotlin Android Extensions, то можно вручную подключить её в Gradle, для этого нужно: в папке проекта Gradle Scripts открыть два файла buildGradle, в первом файле (buildGradle(Project...)) в первой строке прописать:
apply plugin: 'kotlin-android-extensions'
а во втором файле (buildGradle(Module...)) в блоке plugins{} после всех подключенных id:
id 'kotlin-android-extensions'
, и нажать появившуюся кнопку "sync ".
@@VKochnev спасибо почитаем
А я думаю что у меня не импортирует через Alt + Enter (tvText)
@@VKochnev thx for the explain
супер
А будут ли уроки по котлин где Вы разберёте как работать с базой данных? делать запросы и.т.д
Хорошие уроки! Спасибо!
Подскажи а почему не пользоваться mutableList, разработчики рекомендуют его использовать, вместо array, кроме уникальных случаев... там реализованы все свойства массивов... можно даже со скобками вызывать [ ] ?
Если ещё добавить: картинки, и плюс Поиск было бы здорово.
Добрый день Сергей почему в android studio 4.1.2 не импортируется
import kotlinx.android.synthetic.main.activity_main.*
просто по имени элемента?
Не заработал листВью, пока не объявил... из-за версии api?
Добрый день, Сергей. Не лучше ли использовать RecyclerView? Разве кто-то юзает ListView?
Спасибо за уроки)
Я юзаю, но цвет текста незнаю как изменить
А как изменить цвет текста у listView
Спасибо за уроки, Сергей. Есть вопрос: не смог обратиться к элементу tvText способом, который Вы показали на 4:10 - не дает сделать автоматический импорт библиотеки, попробовал сделать импорт вручную, но среда выдает ошибку, что библиотека kotlinx отсутствует. Не подскажите в чем может быть проблема? Версия Android Studio 4.1, Версия API проекта: 16 (Android 4.1)
Такая же проблема и у меня
Весь мозг свернул, всяко пробовал результат ноль.
я теж стикнувся з цією проблемою на редіті пишуть що вже офіційно не рекомендують використовувати і видно з нових версій андроід студіо прибрали звісно можна і далі викорстовувати але прийдкеться самостійно все наштовувати трохи детальніше по ссилці old.reddit.com/r/androiddev/comments/ala9p2/why_kotlinx_synthetic_is_no_longer_a_recommended/efdvpkg/
Такая же проблема и уменя
Не заработал листВью, пока я его не объявил. Почему так?
val listView = findViewById(R.id.listView)
val nameList = ArrayList()
nameList.add("Sergo")
nameList.add("Luter")
nameList.add("Denis")
nameList.add("Tango")
nameList.add("Sancho")
nameList.add("Tomas")
val adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, nameList)
listView.adapter = adapter
Как подключить kotlinx ?
val adapter = ArrayAdapter(this,android.R.layout.simple_list_item_1) ArrayAdapter- подчеркивается красным и listView(горит красным) тоже не видит хотя делал все по уроку. Помогите разобраться.
Спасибо за урок, но какая разница между nameList[position] и nameList.get(position)? Мне просто как человеку, пришедшему из других ЯП, первый вариант более привлекателен, как минимум потому, что меньше текста.
Они одинаковы
Сергей, Спасибо вам за ваши уроки! Смотрю с удовольствием. Возник вопрос со способом tvText.text (горит красным и не импортируется класс). Android Studio 4.1.2
Привет, это потому что библиотеку для доступа к id элемента уже убрали, теперь нужно использовать ViewBinding или findViewById как раньше
@@NecoRuChannel тоже с таким вопросом шел. Вопрос решен, спасибо
@@you8t3 Библиотеку эту убрали, теперь нужно ViewBinding использовать
@Валерий Дейнека я два дня искал проблему. Это поэтому значит выходила ошибка "Unresolved reference: kotlinx" ?
@@vfffv9877нет
Обясните пожалуйста как поставить imageView(фон) та ScrollView на GridLayout?
Бо на UA-cam нету такого обяснения на руском языке☝️
Сергей, а сильно отличается разработка на андроид и айос ?
Сергей спасибо вам огромное за уроки. Очень познавательно и интересно :) Прошу вас добавьте в описание проблему с отменой библиотеки kotlin-android-extensions. Я её решил, через View binding ничего сложного но многие люди спотыкаются.
@UCLJFjRQLoFfz-Ai1cdaOJoA да можно сделать через viewbining мне сейчас не с руки написать более подробно. Могу примерно через час или посмотрите мой коммент в другом ролике я там описал как сделать.
@@Pavel_Leonidovich в каком другом уроке?
@@malikisr8805 в предыдущим этому.
@@Pavel_Leonidovich спасибо
@@Pavel_Leonidovich Павел, Здравствуйте. Не нашёл ваш коммент по поводу viewbinding. Так и не понял как можно сделать. Добавил в файле gradle buildFeatures{
viewBinding; true
}
но как дальше не знаю, подскажите, пожалуйста, кто знает.
Сергей, здравствуйте. Большое, просто огромнейшее спасибо за ваши уроки. Подскажите пожалуйста, как где и сколько надо оплатить что бы получить доступ ко всем видео?❤
Привет, и вам спасибо! Если у вас возле кнопки подписаться нет кнопки стать спонсором то значит из за санкций в вашей стране отключили доступ к платному контенту. В таком случае можно приобрести у меня эти курсы напрямую. Пишите мне на почту: necodesarrollo@gmail.com или в телеграмм : @neco_desarrollo. А также на моей веб странице можно приобрести: neco-desarrollo.es
👍
ListView сейчас практически не используется. RecyclerView
Самый первый написал комент урааа еее первый
))Спасибо!
Здравствуйте. У меня не импортируется kotlinx, вообще не знает, что это. Даёт только kotlin напечатать без ошибок. В чём может быть проблема?
Спасибо за уроки! Хотелось бы узнать, как сделать приложение одинаковым на всех экранах, сделал небольшой проект, собрал, стал проверять, на одном телефоне все выглядит более менее нормально, а на другом все слипается, использовал привязки везде и все-равно результат тот-же, расстроился.
для разных экранов нужно создавать разные размеры ширины и высоты, я это покажу в следующих видео
@@NecoRuChannel спасибо, будем ждать!)
Спасибо за урок!
У меня почему-то не отображается текст через Toast, когда я нажимаю на элементы :(
Я все также сделала,кроме того что обозначила listView через findViewById
Иногда эмулятор глючит, попробуй на другом
Если связать search view, то по позиции не получится..потому что они будут менятся
Здравствуйте, пишу listView.adapter= adapter после listView точку подчёркивает и пишет ошибку
Привет, так уже нельзя делать, эту библиотеку убрали, смотри новый плэй лист для начинающих 2021 по котлин, он у меня на канале
Вот ещё засада! Не могу вызвать listView.adapter. Попросту нет такого в списке подсказок. Как быть?
Настроил плагин viewBinding и все пошло!
у меня по альт + ентер не ищет переменную, не импортирует, сделал по старинке через файндБуАйди
Правильно сделал эту библиотеку уже убрали теперь нельзя просто по id как я на видео. Теперь либо ViewBinding либо findViewById
Подскажите, может с момента выхода урока что-то изменилось?) Не могу объявить переменную tvText как показано на уроке, только как в Java могу
да, изменилось, нельзя больше напрямую писать id, нужно ViewBinding использовать, это просто, в новом курсе по котлин 2021 это уже есть
@@NecoRuChannel благодарю! Дойду до этого урока надеюсь)
Добрый день. Не понял про возможность не писать findViewById, у меня не получилось. Можете рассказать подробнее, очень интересно?
Есть библиотека synthetic она давала эту возможность но ее убрали теперь нужно использовать ViewBinding. На уроках "Котлин для начинающих" я это рассказал 2021
@@NecoRuChannel спасибо, а продолжение этого урока есть?
@@and0s0 да
Сергей, ну серйозно, как изменить ціни тексту у листвю
Создавать свою собственную разметку для отдельного item в списке и менять цвет и все что угодно
Сергей, как можно с Вами связаться?
Есть интересное предложение по-поводу сотрудничества.
Есть у Вас контакты Телеграм?
Телеграмм в описании к видео
@@NecoRuChannel Я имею ввиду контакты для связи, канал Ваш я видел)
@@usamaben1403 тогда на почту necodesarrollo@gmail.com
listOf нельяз перезаписать элементы
почему у меня не работает import для tvText нажимаю alt+enter выходит create local variable "tvText"
с ноября все по старому потому что
@@tralivali9729 Всмысле по старому? У меня тоже не получается напрямую к идентификатору обратиться. tvText горит красным
@@MxM_5835 сначала создай переменную а потом определи её через findviewbyid
Почему он не хочет мне импортировать библиотеку ?
у меня не работает айди лист вью. пишу listView.adapter=adapter а лист вью горит красным и просит создать что то а я не знаю что.
Привет, в новой версии котлин больше не поддерживает библиотеку которая довала доступ по id теперь нужно использовать View Binding, показал это на последнем уроке по котлин SQLite Блокнот
@@NecoRuChannel за какое число этот урок? просто последний был за 18 февраля, там я не нашёл ответ на вопрос
Здравствуйте!
Как с вами связаться?
necodesarrollo@gmail.com
У вас отличные уроки, но сейчас я в полном недоумении. Я решил изучать котлин именно по той причине, что упрощенны многие методы Java. Теперь на 6 уроке мне говорят, что оказывается все занятия мы писали практически на джава, а вот котлином пожалуйста можно было тремя словами все описать и все спокойно работает. Я сидел разбирался с этими вью, когда они и на хрен не нужны. Вопрос, раз это уроки по котлин, почему сразу не преподавать котлин? Или вам проще подавать в джава стилистики потому что вы знаете джаву?
Дело в том что многие приходят на котлин после джава и конечно проще делать переход с джава на котлин плавно а вот кто только котлином решил заняться то конечно будет не понятно зачем это. Я учу так как меня учили на курсах. Плюс это не как на джава а если в котлине эти функции есть то значит на котлине тоже так можно и хорошо знать оба случая. Есть случаи когда понадобиться использовать как на джава функции а если вы их не знаете то пойдете не правильным путем.
И это было очень даже не зря! сам по себе kotlin такого не позволяет, а вот библиотека/пакет kotlinx уже obsolete и отсутствует в современных версиях
@@alexjanin13 Спасибо тебе, добрый человек, за то, что сказал, что kotlinx`а уже нет. А то я пытаюсь повторить код из ролика и никак не могу вкурить, почему у меня никак не импортируется этот самый kotlinx
Сергей, не поверишь, я пишу ListView.adapter и у меня ругается на adapter и горит красным, что делать?
ListView это класс тебе нужно использовать переменную, listView.adapter с маленькой буквой, но это в новой версии андроид студио неработает, так как убрали эту библиотеку, нужно или использовать как раньше findViewById или ViewBinding
@@NecoRuChannel если честно не понял вместо чего ViewBinding, потом у меня другая ошибка появилась которую описал выше, и там создавая id для listView у меня потом не искался listView так как импорта kotlinx.... не хватало, поставил зависимость в файл "build.gradle(:app)" -> id 'kotlin-android-extensions' и вроде не горит, сейчас еще раз повторю урок)
@@user-po4fi9yo6o kotli android extention убрали из андроид и больше лучьше это не использовать. Если в интернете напишеш ViewBinding то найдеш много инфы
@@NecoRuChannel понял, благодарю, просто не знал что эта одна и таже зависимость, думал котлинх это одна трабла а адаптер вторая, а оказывается одно и тоже решение
Здравствуйте, а почему у меня не импортирует tvText
Вроде проверил в активити мэйн написано верно, но в мэйн активити она tvText не импортирует
Так трудно сказать, возможно что то с версией котлина связано, у вас все обновлено в АС?
@@NecoRuChannel да последняя версия, уже второй день немогу с этим разобраться, даже один раз переустановил андроид студио но не могу понять в чем дело, у вас есть номер телефона может сфотою или видео вышлю?
@@user-jn5qy7ku8w Есть почта necodesarrollo@gmail.com можеш сам проект прислать ну и видео было бы неплохо
Neco, скажите пожалуйста, как вы изучали андроид программирование(курсы, книги или, может быть что - то ещё). Было бы очень интересно узнать, ответьте пожалуйста под этим комментарием, если есть такая возможность
Привет, начинал с UA-cam , учился все сам по урокам и практиковал много. А прсле уже брал платные курсы на испанском
@@NecoRuChannel понял, спасибо
У меня не создается автоматом эта строка import kotlinx.android.synthetic.main.activity_main.*
после того как я ввожу tvText, попробовал вручную также прописать строку import...... и ругается на слово kotlinx((((( в чем беда подскажи пожалуйста?
Сделайте через View binding и будет примерно так:
val adapter = ArrayAdapter(this,android.R.layout.simple_list_item_1,nameList)
binding.listView.adapter = adapter
С этим разобрался, тут надо в файле "build.gradle(:app)" прописать (добавить одну строку по сути)
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-android-extensions' }
@@user-po4fi9yo6o можно и так, но Гугл не зря её не рекомендует. Лучше сразу изучать и пользоваться View binding
@@Pavel_Leonidovich , не увидел ваш ответ, благодарю, изучу эту либу!
listView.setOnClickListener{ parent В этом моменте, у меня подсказка не выскакивает, если прописывать все самому, то то выскакивает ошибка и предлагает добавить функцию listView.setOnClickListener, кто подскажет, в чем может быть дело?
Не setOnClickListener а setOnItemClickListener
@@NecoRuChannel спасибо
@@NecoRuChannel указываю .setOnItemClickListener нет подсказки об {parent, view, position, ...} с чем еще может быть связано подобное поведение?
@@nekrasovweb если нет ошибок то это из за AS просто перезагрузи Android Studio и все. Я имею ваиду закрой Android Studio и сново открой
Если перепечатать работает )
Прямое обращение к элементу по ID уже устарело) Используйте старый fvid
Нет нужно теперь испольщовать ViewBinding в новом плейлисте "Котлин для начинающих 2021" найдешь уроки про это
@@NecoRuChannel ты перезаписал этот плейлист и этот можно не досматривать? Просто перелючиться на другой? Или этот досмотреть, а там допрлнение?
@@lgXenos Этот тоже можно смотреть так как много полезной инфы есть, проблема в том что некоторые методы уже убрали по этому сначало лучше смотреть новый а аосле если есть желание можно и этот, тогда поймешь какие вещи изменились. В этом есть вещи которых нет в новом
Правильно ля я понял что kotlin-android-extensions
использовать не желательно? Лучше использовать findViewById(). Прочитал статью на хабре и этот плагин kotlin-android-extensions теперь deprecated
Правда, но findView не обязательно использовать, теперь есть ViewBinding
@@NecoRuChannel Понятно. Использование ViewBinding в дальнейших уроках обсуждается, или будет в новой серии уроков для новичков по Kotlin?
@@MxM_5835 в дальнейших уроках показал в приложение "Блокнот" на котлин. урок 6 или 7 точно не помню. И на новых уроках котлин тоже. Уметь использовать finfBiewById тоже хорошо и нужно знать
@@NecoRuChannel согласен 🤝
findViewById освоил. А вот ViewBinding для меня в новьё. Поэтому так зайнтерисовался.
Причём через. findViewById я не смог adapter подключить как в уроке. А вот через ViewBinding все заработало как у вас в уроке.
Очень позновательные уроки!
Сергей, если я могу вам тоже что-то подсказать. Некоторые слова ве произносите неправильно по-английски. Я в США живу и это мне сразу бросаеться.
item - вместо "итем", слово произноситься как "айтем" , типа как в слове "айфон"
array - вместо "аррэй" , слово произноситься как "эррэй"
Просто хотел Вам подсказать чтобы вам легче было со своими коллегами из анг. яз. стран.
Кстати, у меня сложилось впечатление вы живете в Испании.
Спасибо, да живу в Испании
Пожалуйста, не надо корректировать автора. Все что он говорит и как говорит, все прекрасно. Особенности произношения, стимулируют лучше сосредотачиваться. Важно помнить, что если инфрмция пердна и вы смгл эту инфрмцию вспрнять, нет смсла тртить время на полемику о произношении, это ксенофобия.