Я пытаюсь поменять местами макеты в своем фрагменте, установив один вид invisivle, а другой - видимым. Однако я хочу использовать одну и ту же кнопку в обоих случаях, которая прекрасно работает на стороне пользовательского интерфейса приложения, но я не могу получить событие onClick во фрагменте от кнопки во втором представлении.
Вот мой XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/id_subfragment"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/id_tv"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:textSize="20sp"
android:text="SomeText" />
<RelativeLayout
android:id="@+id/id_relLayout_1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/id_tv">
<Button
android:id="@+id/id_button_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
app:backgroundTint="@color/colorPrimaryDark"
android:text="Button" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/id_relLayout_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/id_tv">
<Button
android:id="@id/id_button_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
app:backgroundTint="@color/colorPrimaryDark"
android:text="Button" />
</RelativeLayout>
</RelativeLayout>
Как видите, кнопки имеют одинаковый идентификатор, поэтому в моем Fragment-классе (который реализует View.onClickListener
я должен иметь возможность получить onClick-Event для обоихКод из фрагмента в onCreateView:
Button button = v.findViewById(R.id.id_button_next);
button.setOnClickListener(this);
Я «изменяю» макеты с помощью
v.findViewById(R.id.id_relLayout_1).setVisibility(View.GONE);
v.findViewById(R.id.id_relLayout_2).setVisibility(View.VISIBLE);
Спасибо за любую помощь!