问题标签 [android-viewpager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
13371 浏览

java - java.lang.IllegalArgumentException:观察者为空

我的一个应用程序的用户报告了此错误。我对这意味着什么以及如何解决它感到困惑。经过一番谷歌搜索......仍然没有运气。任何人以前见过这个或知道如何解决它?

它来自我的 PagerAdapter 中的这个函数:

0 投票
1 回答
692 浏览

java - 适配器类:嵌套在活动中?

我正在编写一个 PagerAdapter,它将在我的应用程序中与 ViewPager 一起使用。

我正在使用的示例将适配器作为 PagerViewActivity 类中的嵌套类。我相信这使它可以访问该类中的所有成员变量。

我的印象是这仅仅是为了简单,因为它是一个示例,如果我要构建一个应用程序,我应该将此适配器类从我的活动类中分离出来。

如果我这样做,我需要从调用适配器的活动中传递上下文吗?另外,为了避免每次需要时都创建一个新的 LayoutInflator,我是否必须传递对它的引用?

什么是最好的或被认为是好的做法?

非常感谢,M

0 投票
2 回答
4081 浏览

android - 投射到 ViewPager 时出现 ClasscastException

我正在尝试基于兼容性库中的新 ViewPager 创建一个应用程序。当我从示例应用程序中复制行时:

使用以下 main.xml:

我得到一个

在我投射到 ViewPager 的那一行。有谁知道为什么会这样?

0 投票
1 回答
672 浏览

android - Android:保留Fragments的复杂视图数据

在我的应用程序中,我有一个使用 FragmentViewPager 的FragmentActivity。Fragments 具有非常复杂的视图结构,包括 ListViews 和 Adapters。FragmentViewPager 似乎会破坏看不见的片段,并在用户滑回它时重新创建它们。这会导致所有包含所有内容的列表和适配器的成员变量都被清除,因此如果 Fragment 回到顶部,则它是空的。

我现在的问题是:如何保存这些数据?如果我没记错的话,我必须使用适配器工作的内容保存并恢复列表。我应该在何时何地保存它?

将数据保存在 FragmentActivity 或 Activity 之外的辅助单例类中是个好主意吗?

0 投票
1 回答
6372 浏览

android - Android ViewPager + Webview,ClassCastException!在 viewpager 中需要 webview

我正在尝试创建 web 视图的水平“列表视图”。正如先前对问题的回答所建议的那样,我正在使用兼容包中的 ViewPager 库。

不幸的是,当我将我的 webview 添加到视图集合时,使用

((ViewPager) collection).addView((View)mainContent,0);

我得到了选角问题。

09-07 20:45:30.690: ERROR/AndroidRuntime(8166): java.lang.ClassCastException: android.webkit.WebView cannot be cast to android.support.v4.view.ViewPager

这会使应用程序崩溃。

现在这几乎是有道理的,转换不同的数据类型会使事情出错,但是在我拥有的 ViewPager 示例应用程序中,他们将 TextView 转换为 ViewPager 这是一个视图......

我只是不知道还有什么其他方式可以真正“存储”我的视图并在应用程序中显示它们!我有

0 投票
7 回答
55123 浏览

android - 页面片段之间的 Android ViewPager 填充/边距

Android Market/Google Music 似乎能够在ViewPager.

知道这是怎么做到的吗?向实际的片段视图添加边距/填充不起作用,因为视图仍然需要占据屏幕的整个宽度。“间隙”仅在滑动 ViewPager 时可见。

0 投票
0 回答
453 浏览

android - 如何在viewpager中创建一个3X3的图像数组,例如在android中水平滚动的GridView

如何在视图页面中创建一个 3X3 的图像数组,例如水平滚动的 GridView?

0 投票
3 回答
150267 浏览

android - 如何强制 ViewPager 重新实例化其项目

ViewPager用来允许用户在其视图之间滑动。有没有办法强制它ViewPager重新加载/重新实例化它的视图,以防它们不再有效或需要刷新?我试图调用notifyDataSetChanged()它的适配器,但这不会instantiateItem()再次调用方法。

编辑

这是从 ViewPager 及其适配器定义扩展而来的类。Bellow 是refresh()我想强制刷新项目时调用的方法。

0 投票
3 回答
24298 浏览

android - Android ViewPager 和 ListViews

我对 Android 开发和整体开发相对较新。我无法掌握 ViewPager 的语法/过程。

我有几个要在 ViewPager 中实现的 ListView。我已经加载了兼容性包和所有内容。但我还没有看到任何完整的例子来说明如何做到这一点。

我通过看例子学得最好。如果有人可以发布您实施此类事情的任何项目的示例,请告诉我。

问题是当我尝试启动我的活动时,我在这条线上得到一个空指针异常:

我怀疑我只是做错了。如果我不使用 ViewPager,我可以获得两个列表来显示它们的内容。所以我知道列表不是空的......

编辑:

感谢 VenomM 下面的回答!这是我最终使用的代码,根据 VenomM 的示例稍作修改。

ViewPagerAdapter:

阵列适配器:

0 投票
10 回答
73176 浏览

android - 作为 ViewPager 的一部分更新 ListFragment 中的数据

我在 Android 中使用 v4 兼容性 ViewPager。我的 FragmentActivity 有一堆数据,这些数据将以不同的方式显示在我的 ViewPager 的不同页面上。到目前为止,我只有 3 个相同 ListFragment 的实例,但将来我将拥有 3 个不同 ListFragment 的实例。ViewPager 在垂直电话屏幕上,列表不是并排的。

现在 ListFragment 上的一个按钮启动了一个单独的整页活动(通过 FragmentActivity),该活动返回,FragmentActivity 修改数据、保存数据,然后尝试更新其 ViewPager 中的所有视图。就在这里,我被卡住了。

现在如您所见,我的第一次尝试是在整个 FragmentPagerAdapter 上通知DataSetChanged,这表明有时会更新数据,但其他我得到一个 IllegalStateException:onSaveInstanceState 后无法执行此操作。

我的第二次尝试涉及尝试在我的 ListFragment 中调用更新函数,但 getItem 中的 getId 返回 0。根据我尝试过的文档

使用 findFragmentById() 或 findFragmentByTag() 从 FragmentManager 获取对 Fragment 的引用

但我不知道我的片段的标签或 ID!我在 ListFragment 布局中有一个用于 ViewPager 的 android:id="@+id/viewpager" 和一个用于我的 ListView 的 android:id="@android:id/list",但我认为这些没有用。

那么,我怎么能:a)一次安全地更新整个 ViewPager(理想情况下将用户返回到他之前所在的页面) - 用户可以看到视图更改。或者最好是,b) 在每个受影响的 ListFragment 中调用一个函数来手动更新 ListView。

任何帮助将不胜感激!