【问题标题】:Android - adding fragments dynamicallyAndroid - 动态添加片段
【发布时间】:2021-08-22 19:19:13
【问题描述】:
我浏览了互联网,只发现了 Android 片段的示例,它们被放置在适当的位置(比如其中两个,一个作为列表,第二个是显示列表中所选项目的详细信息)。我的目标是拥有经典的 android 活动,并且我希望能够添加具有特定 GUI 的动态预先准备好的片段。我想在那里添加一组 EditText 元素(editTextFragment)或几个单选按钮(radionbuttonFragment)。有没有如何做到这一点的例子?制作稳定的碎片对我来说不可用。
谢谢
【问题讨论】:
标签:
android
android-fragments
【解决方案1】:
此答案适用于所有寻找相同问题答案的人。
答案是通过 FragmentManager 和 FragmentTransaction 实现的,语法如下。
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
那么您需要使用以下语法将您的片段添加到此片段事务中。
fragmentTransaction.replace(R.id.detailFragment, layout1);
最后,您必须提交您的交易。否则更改将不会持续。
fragmentTransaction.commit();
【解决方案2】:
Fragment 和 Views 非常相似,所以想的也很相似... 还可以查看 google api demoes 以获取 Fragment。如果我没记错的话,他们使用框架布局并向其中添加片段。
【解决方案3】:
您可以通过编程方式在 Activity 的 UI 中向 FrameLayout 添加和删除片段,但您的 Activity 必须扩展 FragmentActivty。一旦创建了片段类和相应的布局,就可以通过 FragmentManger 和 FragmentTransaction 添加和删除实例化的片段。请参阅Fragment documentation 中的“执行片段事务”部分。