亲爱的StackOverflow人,
我目前在Android应用程序中存在一个大问题。
我正在为我的所有活动使用Fragments,我在这里阅读了所有文档:http://developer.android.com/guide/topics/fundamentals/fragments.html
我的应用程序现在在手机和平板电脑上看起来非常酷。
我的问题:
我有一个显示FrameLayout中包含的片段的布局(参见底部的截图)
所以,这是片段A的截图。
现在,我希望点击左键,将片段A替换为片段B,或C,或......
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment android:name="com.stackoverflow.question.FRAGMENT_A"
android:id="@+id/list"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="match_parent" />
</FrameLayout>
正如您在我的xml中看到的那样,FRAGMENT_A是硬编码的。
想象一下,我想在6个不同的片段之间切换,我做什么? 将我的所有6个片段放在XML中,或者是否有一种方法可以用FRAGMENT_B,C,D,E等以编程方式替换FRAGMENT_A。
非常感谢你的帮助。
答案 0 :(得分:14)
使用FragmentTransaction替换片段。
你可以以编程方式替换片段。
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
FragmentB fb = new FragmentB();
ft.replace(R.id.list, fb);
ft.addToBackStack("replacingFragmentA");
ft.commit();
添加到后台堆栈是可选的。