Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Создание второго объекта 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; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.009 с.)
Главная | Случайная страница | Обратная связь