Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Создание второго объекта Activity
Теперь добавим саму новую activity - DisplayMessageActivity. Для этого нажмем правой кнопкой мыши в структуре проекта на папку пакета, в котором находится класс MainActivity, и затем в контекстном меню выберем New-> Activity-> Empty Activity: После этого откроется диалоговое окно создания новой activity: В этом окне введем следующие данные: · Activity Name: DisplayMessageActivity · Layout Name: activity_display_message И затем нажмем Finish. Итак, у нас была создана новая activity: в папку app/src/main/java/[название_пакета] добавляется новый класс DisplayMessageActivity, а в каталог app/src/main/res/layout файл activity_display_message.xml с определением интерфейса для новой activity. Откроем класс DisplayMessageActivity и изменим его следующим образом: package com.example.eugene.helloapplication; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; public class DisplayMessageActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Получаем сообщение из объекта intent Intent intent = getIntent(); String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE); // Создаем текстовое поле TextView textView = new TextView(this); textView.setTextSize(40); textView.setText(message); // Устанавливаем текстовое поле в системе компоновки activity setContentView(textView); }}Также, как и в MainActivity (и в других activity), создание текущей activity происходит в методе onCreate(). Все подклассы Activity должны реализовать метод onCreate, так как система вызывает его при создании новой activity. Именно в этом методе задается компоновка нового объекта activity с помощью метода setContentView и именно здесь происходит начальная настройка компонентов. Вывод сообщения на экран Итак, как мы помним, вначале мы передавали из нашей первой и главной activity в DisplayMessageActivity текстовое сообщение, которое было введено в текстовое поле. Теперь получим его в DisplayMessageActivity и выведем на экран Каждый объект Activity вызывается объектом Intent. Мы можем получить вызывающий объект Intent с помощью метода getIntent и, таким образом, получить переданные с ним данные. Intent intent = getIntent(); String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE); Для вывода сообщения на экран создадим виджет TextView и с помощью его свойства setText установим его текст. А затем добавим новый виджет в DisplayMessageActivity при помощи метода setContentView. TextView textView = new TextView(this); textView.setTextSize(40); textView.setText(message); setContentView(textView);После запуска приложения на эмуляторе мы увидим опять же текстовое поле с кнопкой, но после ввода текста и нажатия на кнопку будет запущена новая activity и отобразится другой экран с введенным ранее в текстовое поле сообщением.
|
Последнее изменение этой страницы: 2019-05-04; Просмотров: 231; Нарушение авторского права страницы