Подытожим, что нам известно.
Итак, мы ознакомились с несколькими примерами того, как использовать метод setText
для изменения View-элемента. Вот пример, который мы только что рассмотрели:
TextView orderSummaryTextView = (TextView) findViewById(R.id.order_summary_text_view);
orderSummaryTextView.setText(message);
Это делается в два шага:
Шаг 1: Получение объекта View
с помощью его идентификатора
В первой строке кода мы получаем TextView
и сохраняем его в переменную под названием orderSummaryTextView (текстовое поле заказа). Чтоб получить View, мы используем метод findViewById
(получить view по идентификатору), это метод из класса Activity. В него передаём один аргумент — идентификатор view, этот аргумент мы предоставляем в виде R.id.IDOFVIEW
. В данном случае идентификатор View заданный в XML — order_summary_text_view
. Не забывайте про приведение объектов, этим занимается (TextView). То есть возвращаемое значение метода findViewById
должно быть типа TextView
, а не просто View.
Шаг 2: Вызов метода на объекте View
Поскольку мы вызываем метод на объекте, нужно использовать вызов через точку. Строка orderSummaryTextView.setText(message) — всё равно что инструкция “возьми объект orderSummaryTextView, которому можно присваивать текст (как написано в документации), и присвой ему текст из строки, которую передали в метод (в данном случае передали переменную типа String
под названием message
).
Ваша очередь
Сейчас Вы отработаете следующие шаги: получение объекта, сохранение его в переменную и управление этим объектом.
Шаг 1: Создайте новый проект
Для начала создайте новый проект (используйте шаблон Empty Activity на версиях Андроид Студио начиная с 1.4). Назовите своё приложение Cookies. Этот проект создаётся также, как проекты BirthdayCard, Just Java (заказ кофе) и Court Counter.
Шаг 2: Скопируйте файлы
Скопируйте и вставьте код Java и XML в соответствующие файлы. Вот ссылка на код.
Потом скопируйте следующую строку в файл build.gradle
:
compile 'com.android.support:appcompat-v7:22.1.0'
Если Андроид Студио предложит Вам более новую версию библиотеки совместимости, соглашайтесь.
Вы можете найти файл app gradle внутри скриптов gradle в вашем проекте. Осторожно не путайте его с файлом проекта gradle!
![Присваиваем значения View-элементам - 1](https://cdn.javarush.com/images/article/64deba03-b21f-43d0-83e9-e78706c6b39e/original.png)
Вы должны добавить эту строку внутри зависимостей:
![Присваиваем значения View-элементам - 2](https://cdn.javarush.com/images/article/58a77c28-40c1-4236-adf6-3c6d1529bea4/original.png)
Возможно, вам потребуется синхронизировать ваш проект после добавления этого файла:
![Присваиваем значения View-элементам - 3](https://cdn.javarush.com/images/article/a0abd325-681b-4308-80e7-d288f1682c4e/original.png)
Поместите две картинки в папку drawable
(скачать картинки можно в конце лекции), также, как Вы делали в приложении-открытке. Их можно скачать по этой ссылке.
![Присваиваем значения View-элементам - 4](https://cdn.javarush.com/images/article/dcffb838-14da-4d5d-89a2-465f8b034cd6/original.png)
Шаг 3: Подключите кнопку
Подключите кнопку “Eat Cookie” (скушать печенье) так, чтоб при её нажатии картинка и текст менялись? как на иллюстрации ниже.
![Присваиваем значения View-элементам - 5](https://cdn.javarush.com/images/article/17302b59-d40e-4204-b627-9e92e50e218c/original.png)
Вам придётся изменить код XML для обработки нажатия на кнопку (вы уже делали это в Уроке 2 и в Практическом модуле). После этого используйте навыки, полученные в этом уроке, чтоб управлять картинкой и текстом из Java-кода. Удачи!
![Присваиваем значения View-элементам - 6](https://cdn.javarush.com/images/article/62097dcb-cd70-4166-9ab4-703550015e8e/original.png)
Вспомогательный материал:
before_cookie.jpg
after_cookie.jpg
Свои ответы и вопросы можете оставлять в комментариях.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ