@di_gangsta

Как создать XML-файл с программным кодом для нескольких Activity?

Создал header для нескольких activity, который добавляю в них посредством тега include
Код самого headera:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/mainlayout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <include layout="@layout/toolbar">
    </include>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="35dp"
        android:background="@color/colorRed">

        <Button
            android:layout_width="12dp"
            android:layout_height="12dp"
            android:layout_alignParentStart="true"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_marginStart="38dp"
            android:layout_marginLeft="38dp"
            android:background="@drawable/icon_loupe" />

        <EditText
            android:id="@+id/text_search"
            android:layout_width="178dp"
            android:layout_height="34dp"
            android:layout_alignParentStart="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentBottom="true"
            android:layout_marginStart="58dp"
            android:layout_marginLeft="58dp"
            android:layout_marginBottom="0dp"
            android:background="@color/colorRed"
            android:hint="@string/search"
            android:inputType="text"
            android:textColor="@color/colorWhite"
            android:textColorHint="@color/colorWhite"
            android:textSize="10sp"
            android:fontFamily="@font/font_gotham_pro"

            android:visibility="visible" />

    </RelativeLayout>
</LinearLayout>


Данный header включает в себя все основные элементы, но мне нужно добавить для них обработчик нажатий кнопки и некоторые другие компоненты логики, которые можно написать только кодом. Я мог бы копировать этот кусок кода с логикой для каждого .java файла, наследующего AppCompatActivity, но хотелось бы создать какой-нибудь .java-файл, в котором будет описана вся эта логика и не пришлось разводить грязь. Как мне это сделать?
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
@red-barbarian
пару-тройку идей:
- сделать fragment. Код написать в фрагменте.
- создать класс обработчик, которому будут делегировать обрабатывать нажатия и проч
- создать кастомную вьюху. Которая будет сразу вставляться ( вместо include)

на выбор. Исходите от своих способностей и требований приложения.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@tiroman
Так а в чем проблема создать "java файл, наследующий AppCompatActivity, в котором будет описана вся эта логика" а потом наследовать от него остальные активити?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы