Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 子片段替换父片段根布局大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个5个片段的viewpager,其中一个我希望通过按钮点击完全替换它.我也希望能够通过后退按钮隐藏子片段.
这里的片段布局:

当我尝试像这样替换contacts_layout时:

ImportContactsFragment importContactsFragment = new  ImportContactsFragment();
Fragmenttransaction transaction = getChildFragmentManager().begintransaction();
transaction.addToBACkStack(null);
transaction.replace(R.id.contacts_layout,importContactsFragment).commit();

它不起作用(我的意思是没有错误,但我的ImportContactsFragment根本没有显示).但是,当我尝试替换import_contacts视图时,如下所示:

ImportContactsFragment importContactsFragment = new  ImportContactsFragment();
Fragmenttransaction transaction = getChildFragmentManager().begintransaction();
transaction.addToBACkStack(null);
transaction.replace(R.id.import_contacts,importContactsFragment).commit();

一切正常,显示了ImportContactsFragment.

所以我想知道是否可以用子片段替换所有片段内容?也许我可以用其他方式做到这一点?

最佳答案
替换事务不会从目标布局容器中删除当前视图,因此当您使用一个代码片段时,新片段将添加到contacts_layout LinearLayout,但不会被视为先前的视图覆盖整个屏幕(高度) .

使用第二段代码,您添加新Fragment的LinearLayout是父LinearLayout的第一个子节点,它有空格,因此它是可见的.

对于你正在做的事情,我建议你将初始布局包装在一个放置在包装器布局中的Fragment类中,然后你可以很容易地替换它.

大佬总结

以上是大佬教程为你收集整理的android – 子片段替换父片段根布局全部内容,希望文章能够帮你解决android – 子片段替换父片段根布局所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。