我有一个 Android 活动,里面有两个片段,比如 A 和 B。我想单击 A 中的按钮,以便 B 切换到 C、D 或 E。
每个布局都引用一个.xml,所有布局都有不同的按钮调用其他片段或做其他事情......
现在在 main.java 中:
public void stackAFragment(int page) {
//depending on which button on the list is clicked, the corresponding fragment is replaced
if (npage = 1){
Fragment f = new FragmentB();}
if (npage = 2){
Fragment f = new FragmentC();}
if (npage = 3){
Fragment f = new FragmentD();}
FragmentTransaction ft = getFragmentManager().beginTransaction()
ft.replace(R.id.frag_content, f);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.addToBackStack(null);
ft.commit();}
然后在 A.java 中,有一个列表视图,并且对于侦听器
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
Main main = (Main) getActivity();
main.stackAFragment(arg2 + 1); }
在 B.java 中:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle saved) {
View c = inflater.inflate(R.layout.frag_b, container, false);
return c;}
在 C.java 中:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle saved) {
View c = inflater.inflate(R.layout.frag_c, container, false);
return c;}
等等.....
所以现在,在第一页,它显示了片段 A 和 B。
但是当我点击更改为片段 C 时,片段 B 并没有消失,而是片段 C 出现在片段 B 下
当我单击以更改为片段 D 时,片段 C 消失但 B 仍然存在....
我怎么能解决我的问题?
非常感谢!!!非常感谢有人能指出我正确的方法......
附加信息:::: main.xml 的布局
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/frags"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SlidingMenu" >
<fragment
android:id="@+id/frag_content"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
class="com.seapointcorp.enque01.ContentFragment" />
<fragment
android:id="@+id/frag_title"
android:layout_width="@dimen/titles_size"
android:layout_height="match_parent"
class="com.seapointcorp.enque01.TitleFragment" />
</FrameLayout>