У меня есть внутри Activity
один полный экран Fragment
. Внутри этого Fragment
У меня есть еще Fragment
, накладывающийся на нижнюю часть экрана. Таким образом, в верхней части экрана, у меня Button
контрольного Visible/скрыть внутреннюю Fragment
:Android: Показать и скрыть фрагмент
компоновка содержащего
Fragment
:... <FrameLayout android:id="@+id/inner_fragment" android:layout_width="match_parent" android:layout_height="200dp" android:layout_below="@+id/top_part" android:name="com.package.InnerFragment" />
контролирующего
Button
:controlButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (!isInnerVisible) showHideInnerFragment("show"); else showHideInnerFragment("hide"); } });
Вспомогательный метод
showHideInnerFragment
:private void showHideInnerFragment(String param) { //variables are class members... fragmentManager = getFragmentManager(); fragmentTransaction = fragmentManager.beginTransaction(); innerFragment = new InnerFragment(); if (param.equals("show")) { fragmentTransaction.add(R.id.inner_fragment, innerFragment); isInnerVisible = true; } else { fragmentTransaction.remove(innerFragment); isInnerVisible = false; } fragmentTransaction.addToBackStack(null); fragmentTransaction.commit(); }
Ну - Это совершенно не работает ...
showHideInnerFragment() или showHideGroupsFragment()? – mjp66
@ mjp66 typo fixed .... – michael
Спасибо! Я отправлю ответ через минуту, но похоже, что вы только вызываете метод с вашим параметром, который всегда передается как «показать» – mjp66