【问题标题】:ViewPager with setOffscreenPageLimit hiding my initial Activity title带有 setOffscreenPageLimit 的 ViewPager 隐藏了我的初始活动标题
【发布时间】:2015-08-06 01:00:27
【问题描述】:

我在 Activity 中使用标准 ViewPager。非常基本的东西:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="match_parent"
          android:layout_height="match_parent">

    <include layout="@layout/toolbar" />

    <android.support.design.widget.TabLayout
    android:id="@+id/sliding_tabs"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/new_teal"/>

    <android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

</LinearLayout>

现在,在我的活动代码中,我有一个 OnPageChangeListener,每当翻阅 viewpager 的视图时,我都使用它来切换工具栏中的标题。

我还调用 setTitle(...) 来设置初始屏幕的标题。

所有这一切的问题是我正在设置 setOffscreenPageLimit(...),当我这样做时,对 setTitle(...) 的初始调用会被覆盖或隐藏或其他什么。标题消失了!!!

如果我删除 setOffscreenPageLimit(...),那么整个事情都会像预期的那样出现异常。

有什么想法吗???

【问题讨论】:

  • 你能告诉我们你的活动代码吗?

标签: android android-viewpager android-toolbar android-titlebar


【解决方案1】:

为了获得有效的解决方案,我们需要查看您的片段代码,但如果您没有为视图寻呼机设置 offScreenPageLimit,它会创建当前片段的 1 个上一个片段和一个下一个片段。所有这三个片段都被创建并调用默认的片段生命周期方法,例如 onCreate、onViewCreated 等。

如果您在将 offScreenPageLimit 设置为 2 或更多时创建的片段中更改标题,您可以获得此行为。

例如,假设您当前的 Fragment 是 C,而您的视图寻呼机包含 b C d e,并且您在 a 或 e 片段或第二个或更多位置的其他片段中更改标题。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 1970-01-01
    • 2020-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多