#4 Переходы между Activity


Если Вас интересует курс разработка под android — то изучите эту статью. Но я рекоммендую записаться на обучение

На этом уроке мы с Вами научимся переходить с одного экрана на другой — в том случае если работаем с активити. А также мы с Вами потренеруемся не просто переходить между активити, а также передавать данные.

Переход между Activity — основа для тех, кого интересует курс разработка под android

Мы будем использовать проект из предыдущих уроков — там просто создано два активити. Итак мы будем производить переход с MainActivity В Catalog.

В MainActivity мы с Вами разместим кнопку при тапе по которой будет происходить переход в активити Catalog.

Давайте создадим xml верстку нашей кнопки в MainActivity

Далее мы переходим в kotlin класс MainActivity и через объект binding вешаем на нашу кнопку прослушиватель тапа и вызываем интерфейс, в котором платформой андроид предусмотрен метод запускающийся сразу при тапе по данному объекту.

В фигурных скобках мы должны с Вами написать код, который будет запускать код при тапе по этой кнопке.

Для осуществления перехода между активити мы должны создать специальный объект Intent и проинициализировать его как объект класса Intent. То есть сам объект мы назовем catalog, но проинициализируем его как объект класса Intent.

В качестве конструктора мы передадим два параметра — класс с которого нужно произвести переход и класс на который нужно перейти. Итак класс с которого мы будем производить переход — этот тот класс в котором мы находимся и создали объект Intent и в котором будем нажимать на кнопку, то есть это класс MainActivity. Для того что бы указать ссылку на текущий класс, то есть на класс в котором мы находимся — для этого мы используем ключевое слово this. После чего мы указываем название класса на который будем производить переход.

Далее вызываем функцию которая и осуществит переход и в качестве аргумента мы передадим в эту функцию объект Intent.

Для того что бы мы понимали, что переход осуществлен давайте в активити Catalog разместим текстовое поле с названием Catalog

Теперь у нас все готово. Вы можете собрать проект и протестировать как все работает

Итак мы тапаем по кнопке и преходим на второе активити

Это конечно же все хорошо -но как нам передать данные из одного активити в другое

Для этого в MainActivity мы после создания объекта вызываем специальную функцию putExtra — таких функций несколько — я выберу для передачи строки. В скобках мы указываем в качестве первого аргумента уникальный ключ — название может быть любым, а вторым аргументом указываем ту информацию которую хотим передать. Я использую функцию putExtra для передачи строки и хочу передать название размещенное на кнопке и которое хранится в атрибуте text нашей кнопки и это название как раз таки является строкой. Вобщем передаем назание кнопки.

Переходим во второе активити — Catalog.

Обращаемся к текстовому полю к его атрибуту text. Именно здесь мы будем хранить передавемое значение. Что бы получить значение мы обращаемся к шаблонному объекту intent, вызываем специальный метод и в качестве аргумента передаем уникальный ключ, который указали в активити MainActivity при передаче данных. Именно по этому ключу мы будем отлавливать передаваемое значение.

Теперь давайте соберем проект и посмотрим, что же у нас получилось.

Тапаем по кнопке

и при переходе на новое активити мы видим, что в новом активити отображается название кнопки по которой мы тапнули.

Теперь Вы понимаете как производить переходы между активити.

Код из урока

Если урок был Вам полезен, то поделитесь им в социальных сетях и напишите комментарий. Это поможет всем тем кто интересуется темой — курс разработка под android. Спасибо за внимание!