Освой программирование играючи

Сайт Александра Климова

Шкодим

/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000

Fragment

Компонент Fragment находится в папке Layouts, что позволяет рассматривать его как контейнер. В то же время фрагмент обладает функциональностью активности (жизненный цикл, схожие методы и т.д.).

Сами фрагменты появились в API 11, но в целях совместимости была написана специальная библиотека Android Support library для старых устройств, которая по умолчанию готова к использованию в новых проектах.

Фрагментам будет посвящен отдельный цикл статей. Начать можно отсюда.

Здесь я покажу базовый пример использования фрагментов.

Базовый пример с фрагментом

Рассмотрим простейший пример с использованием фрагмента, чтобы понять основные принципы работы.

Сначала нам нужно создать класс фрагмента. Воспользуемся услугами студии и создадим фрагмент при помощи мастера File | New | Fragment | Fragment (Blank). В диалоговом окне оставляем всё без изменений.

Будет создать большой и страшный код для класса.

Оставим в покое этот класс и создадим макет. В палитре инструментов выберите раздел Layouts и перетащите на вашу заготовку экрана элемент Fragment.

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

New Fragment

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


package ru.alexanderklimov.helloworld;

import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity
        implements BlankFragment.OnFragmentInteractionListener {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public void onFragmentInteraction(Uri uri) {
    }
}

Запустим код и увидим, что внутри активности есть фрагмент (текст "Hello blank fragment").

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

Реклама