gpt4 book ai didi

java - Viewpager2 和 fragment

转载 作者:行者123 更新时间:2023-12-05 04:58:42 25 4
gpt4 key购买 nike

ViewPager2 does not support direct child views

我尝试使用以下代码在 fragment 之间进行转换,但在使用 viewpager2 时出现上述错误。

在 fragment 1 中调用以过渡到 fragment 2:

getFragmentManager().beginTransaction().replace(R.id.viewPager2, new q2_fragment()).addToBackStack(null).commit();

主布局中的 Viewpager2 XML:

<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewPager2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="10"
android:orientation="horizontal"
android:scaleType="fitXY" />

Main 中的实例化:

final ViewPager2 viewPager2 = findViewById(R.id.viewPager2);
viewPager2.setAdapter(new QuestionsActivity.ScreenSlidePagerAdapter(this));
viewPager2.setUserInputEnabled(false);

如何使用 viewpager2 避免此错误?

最佳答案

当我将 TabLayout 放在 ViewPager 的结束标记之前时,我遇到了同样的错误

即:

<androidx.viewpager2.widget.ViewPager2
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent">

<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</androidx.viewpager2.widget.ViewPager2>

这是不允许的!

只需删除结束标记并分隔 TabLayout 即可

<androidx.viewpager2.widget.ViewPager2
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

关于java - Viewpager2 和 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63863320/

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