【发布时间】:2015-11-03 14:23:32
【问题描述】:
我里面有一些Activity单全屏Fragment。在Fragment 里面,我有另一个Fragment 覆盖在屏幕的底部。所以在屏幕的顶部我有Button 控制内部Fragment 的可见/隐藏:
-
包含
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 错字已修复....
-
谢谢!我会在一分钟内发布一个答案,但看起来你只是在调用该方法,而你的参数总是传递为“show”
-
@mjp66 对,我更改了 if 条件,现在它应该使用正确的“切换”逻辑。
标签: android android-fragments android-fragmentactivity fragmentmanager android-framelayout