JavaRush /Курсы /Курс "Программирование под Андроид" /Находим View по идентификатору (метод findViewById)

Находим View по идентификатору (метод findViewById)

Курс "Программирование под Андроид"
8 уровень, 19 лекция
Открыта

Подробнее про приведение типов в Java (прочитайте раздел Casting Objects — приведение типа объектов)

Комментарии (12)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Эшли Уровень 10
9 ноября 2021
%переменная% = findViewById(R.id.%id объекта%); Например: quantity = findViewById(R.id.quantity); Я думаю, эта конструкция всеми уже изучена. А если нет - нужно, чтобы, "от зубов отскакивала", потому как её пользоваться придётся часто, особенно, при написании приложения с нуля. Либо, при обращении к новому объекту. По сути, это и есть инициализация объекта, если я правильно понимаю. То есть, с помощью переменной, мы указываем связь в java классе с конкретным объектом, с которым будем взаимодействовать.
N1kson Уровень 3
6 декабря 2020
А я все думал зачем нам эти скобки с TextView, оказывается это необходимое приведение типа View в TextView. Результат полученный с findViewById(R.id.id_name) возвращает нам View согласно скриншоту. Однако в правой части мы создаем элемент TextView, значит нам нужно View привести к типу TextView.
Name Unknown ;) Уровень 2
28 января 2021
наверное можно сказать, что это как бы перестраховка, чтобы точно было тип TextView, это как если мы бы хотели, например, чтобы полученная информация (пусть это будет число), относилась к типу int, тогда прописываем (int)
🦔 Виктор Уровень 20 Expert
1 декабря 2020
То алгоритмы, теперь функции... Методы, методы! p.s. Да ну, кто там пишет, что после 10 уровня ранова-то сюда?.. Проще только в книге Head First Java и иже с ней, там уже на слониках и котиках объясняют, куда же боле? После 10 уровня ДжаваРаша мне вьетнамские флешбеки покоя не дают, 8 уровень кошмарит по ночам, аж хладный пот выступает на лбу. После такого, этот курс ромашкой кажется, буквально на пальцах и коробках объясняют. Отличная порционная разбивка лекций, не перегревает мозг, не по верхам, а по азам проходятся, с поправкой на специфику андроид разработки. Вопросы в конце лекций задают, поковыряться в IDE просят. Бросьте, после бессвязных, кашеобразных, хаотичных лекций основного курса — лично я здесь просто кайфую. p.p.s. Если кому-нибудь нужна книга Head First Java, то пишите, могу поделиться ею в PDF формате на русском языке и другими накопившимися книгами ; )
Jack Daniel Уровень 28
14 ноября 2021
Здесь по своему хорошо. Но и основному курсу нужно отдать должное. Главное и неоспоримое достоинство основного курса, которое закрывает собой большинство недостатков - это задачи. Благодаря им ты реально учишься и реально запоминаешь. Сюда бы добавить такие задачи, тогда можно было бы что-то сравнивать. А так - бесполезно.
bighugеmistеr Уровень 15
20 января 2022
Лол, я помню, 8-й уровень прошёл за 4 часа -_- Да на основной курс, кстати, я не жаловался.
🦔 Виктор Уровень 20 Expert
3 мая 2022
Привет. Скинул в личку.
Витёк (Vitek) Уровень 10
1 июля 2018
лучше б больше практики было, чем сырой теории. По верхам такие вещи всё равно не понять.
Андрей Маргиев Уровень 12
2 мая 2018
Зачем тип данных View вместо TextView?
sasha Уровень 0
6 июня 2018
по сути как я понял тут ищем View элемент. Если искать TextView то нужно приведение типов. Об этом и говорят: Подробнее про приведение типов
Serge Simakin Уровень 0
16 июня 2018
В следующем уроке это как раз и объясняют.
Аслан Кашиев Уровень 1
20 апреля 2020
View и TextView - это классы. Если мы делаем поиск по id

findViewById(R.id.my_view_id)
у нас перебираются все элементы в активности, которые тоже в свою очередь являются наследниками класса View. Если посмотреть в документации, поиск по id нам возвращает объект класса View. Именно поэтому мы указываем (TextView)
(TextView) findViewById(R.id.my_view_id)

чтобы произвести приведение объекта View к объекту TextView , чтобы затем его присвоить нашему объявленному объекту класса TextView
TextView priceTextView = (TextView) findViewById(R.id.my_view_id)