Мой родитель Linearlayout1
содержит два дочерних макета фрейма: FrameLayout1
и FrameLayout2
.
FrameLayout1
находится поверх FrameLayout2
, но закрывает только половину FrameLayout2
.
Я заменил FrameLayout1
на fragment1
, а также заменил FrameLayout2
на fragment2
.
Теперь, когда я нажимаю на FrameLayout2
, FrameLayout1
должен стать невидимым. Но этого не происходит.
Я попытался сделать следующее:
userDetails.java
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.userDetails, container, false);
topLayout = (LinearLayout) getActivity().findViewById(R.id.FrameLayout1);
bottomLayout = (LinearLayout) getActivity().findViewById(R.id.FrameLayout2);
view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v)
{
topLayout.setVisibility(View.GONE);
}
});
}
Я также обнаружил, что прослушиватель представления onClick не вызывается по его щелчку.
ОБНОВИТЬ:
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/FrameLayout1"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="match_parent" />
<LinearLayout
android:id="@+id/FrameLayout2"
android:layout_weight="2"
android:layout_width="0dp"
android:layout_height="match_parent" />
</FrameLayout>