Создал 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-файл, в котором будет описана вся эта логика и не пришлось разводить грязь. Как мне это сделать?