Создание множества страниц
Внутри одного проекта может быть любое количество страниц (Activity). Каждая Activity — это отдельная страница: главная, страница контактов, товаров и т. д. Добавим новую страницу к существующей одной.
Создание новой Activity
Новые страницы размещаются в папке layout. Нажмите правой кнопкой мыши на папке layout, выберите New -> Activity -> Empty Activity.
Это создаст XML-файл (дизайн) и Java-файл (функциональность). Выберем шаблон Empty Activity. Назовите новую Activity SecondActivity. Установите флажок Generate Layout file (иначе XML-файл не будет создан). Снимите флажок Launch Activity, если это не стартовая Activity. Имя пакета должно совпадать с именем пакета первой Activity. Выберите язык Java. Нажмите Finish.
После создания новой Activity произойдёт синхронизация. Появится новый Java-файл (SecondActivity.java) и XML-файл (activity_second.xml). Дизайн (фоновый цвет, тема) унаследован от первой Activity, так как эти значения установлены глобально. В activity_second.xml пока нет ничего, кроме одного слоя.
В файле AndroidManifest.xml теперь две Activity: MainActivity (основная, launcher) и SecondActivity. Манифест содержит указание на классы, обрабатывающие функции каждой Activity.
Добавление кнопки и обработчика событий
В MainActivity добавим кнопку, например, в центре экрана, с текстом «Перейти на новую страницу». Можно настроить стили кнопки.
Обработчик события можно добавить через setOnClickListener или в свойствах. Можно использовать метод onClick.
В MainActivity.java создадим метод public void buttonClick(View view) (или более понятное имя, например, startNewActivity). Не забудем импортировать View.
Переход на новую страницу
Для перехода используем класс Intent. Импортируем его. Создаем объект Intent:
Intent intent = new Intent(this, SecondActivity.class);
Первый параметр — текущая Activity (this), второй — Activity, на которую происходит переход (SecondActivity.class).
Выполняем переход:
startActivity(intent);
Возврат на предыдущую страницу
Добавим кнопку «Назад» на SecondActivity и создадим метод goBack (аналогично предыдущему):
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
Тестирование
Запустите приложение. Нажатие на кнопку «Перейти на новую страницу» переводит на SecondActivity. Нажатие на кнопку «Назад» возвращает на MainActivity.
Использование множества Activity и Intent с startActivity позволяет переключаться между ними. На каждой Activity можно создавать свой дизайн и обрабатывать события с помощью соответствующих классов.