gpt4 book ai didi

android - 在 ViewPager 中对不同 fragment 使用相同布局时,将布局值相互混合

转载 作者:行者123 更新时间:2023-11-29 21:44:23 25 4
gpt4 key购买 nike

在我的 Android 应用程序中有两个 fragment ,分别称为 FragmentAFragmentB。我使用 FragmentAdapter 将这两个 fragment 添加到 ViewPager 因此,当我运行该应用程序时,我得到了一个意外的布局(两个 fragment 布局混合在一起)。每当我尝试通过每次布局相互混合时滑动来更改 ViewPagercurrentItem

我的问题:如果我们在 ViewPager 中对不同的 fragment 使用相同的布局会有什么问题吗?

最佳答案

我找到了答案。
如果您使用 FragmentgetView() 函数来引用 fragment 的当前 Root View ,则没有问题。这样您就可以在 Fragment 中获得准确的 View 。你可以这样使用(getView().findViewByid(...);
但是,如果您使用 Activity 引用来引用 fragment 中的 View ,则会出现问题。因为使用相同布局 xml 的每个 fragment 中的所有 View 都具有相同的 ID。因此,如果您更改 fragment 中 View 的值,该 fragment 将反射(reflect)在 ViewPager 中使用相同布局的其他 fragment 中。
还有一件事,这样想,当 Activity 创建时, 该 Activity 的 ViewPager 中的所有 fragment 也将被创建并在后台运行。因此,如果您更改 View 的值,an​​droid 将返回具有相同 ID 的第一个 View 。 Android 只知道 View 的 ID。因此,请始终使用它的 Root View (getView()) 引用 fragment View 。

关于android - 在 ViewPager 中对不同 fragment 使用相同布局时,将布局值相互混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16255316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com