Суп, ребята! Сегодня мы узнаем больше об активности.
Обучающее видео: https://youtu.be/gqRO-3J_dgk
Результаты обучения:
- Создать новую активность
- Откройте новую активность одним нажатием кнопки
Давайте начнем с нового проекта для простоты. Если вы хотите закрыть текущий проект в Android Studio, сделайте следующее: Нажмите Файл › Закрыть проект.
Нажмите «Начать новый проект Android Studio».
Имя приложения: TutorialFour
Я не буду объяснять остальное, так как мы рассмотрели, как создать новый проект в уроке 1.
Откройте наше представление макета (activity_main.xml), замените ContstraintLayout на LinearLayout (ориентация = «вертикаль») и удалите TextView.
Переключитесь в режим «Дизайн». Добавьте TextView и нажмите на него. На панели свойств настройте следующее:
текст: «Деятельность 1»
textSize: «30 dp»
Выравнивание текста: по центру
Добавьте кнопку и измените текст на «Перейти к действию 2». Установите идентификатор на «кнопку».
Теперь давайте свяжем нашу кнопку с MainActivity и создадим прослушиватель кнопок:
private Button button;
В при создании:
button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { } });
Пока слушатель ничего делать не собирается. Давайте разберемся, как открыть другую активность, нажав на кнопку.
Но сначала нам понадобится второе действие. Давайте создадим его.
Щелкните правой кнопкой мыши папку пакета › Создать › Активность › Пустая активность (см. изображение ниже)
Название действия: SecondActivity.
Установите флажок «Создать файл макета».
Нажмите Готово.
Поздравляем! Вы только что создали другое действие.
Перейдите к новому макету под названием «activity_second» и замените Constraint Layout на LinearLayout, как указано выше.
Давайте добавим TextView. Измените текст на «Деятельность 2».
Добавьте кнопку. Измените текст на «Назад» и установите идентификатор на «btnBack».
Давайте свяжем activity_second.xml с нашей новой активностью SecondActivity и создадим прослушиватель на нашей кнопке.
private Button btnBack; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); btnBack = (Button) findViewById(R.id.btnBack); btnBack.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { } }); }
ВАЖНО: как открыть другую активность.
Вернемся к слушателю в нашей MainActivity, давайте напечатаем следующее:
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
Мы инициализируем объект Intent двумя аргументами. Первый — MainActivity. Это текущий контекст.
И второй аргумент — это класс активности, который мы хотели бы открыть.
Далее мы должны использовать это новое намерение:
startActivity(intent);
Теперь всякий раз, когда мы нажимаем кнопку в MainActivity, MainActivity закрывается, а SecondActivity открывается.
Давайте сделаем обратное в SecondActivity, чтобы мы могли перемещаться между ними туда и обратно. Попробуйте выполнить второе задание самостоятельно. Если не получается, решение ниже. Во втором действии:
public void onClick(View view) { Intent intent = new Intent(SecondActivity.this, MainActivity.class); startActivity(intent); }
Теперь давайте запустим наш проект. У вас должен получиться тот же результат, что и у меня на гифке выше.
Если у вас есть какие-либо вопросы, просто задайте их ниже! Буду рад помочь!