问题标签 [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 投票
11 回答
55921 浏览

android - 从 ViewPager 获取焦点视图

我使用 ViewPager 通过左/右滑动来切换视图。

ViewPager 需要一个适配器,所以我构建了这个:

现在,我想通过 viewpager 获取当前的焦点视图。我尝试了 getChildAt(x),但它不起作用。

有没有一些例子,或者你知道如何获得当前视图?

谢谢

0 投票
6 回答
57108 浏览

android - 在 ViewPager 中保存 Fragment 状态

我尝试了API 中的示例代码,但它并没有真正起作用,所以我实现了自己的:

片段寻呼机支持

}

主要的.xml

片段项目.xml

我的问题是,不是Fragment每次用户左右滑动时都创建一个新实例,而是如何保存片段的状态(到某些数据结构)然后恢复它?

API 演示似乎根本没有任何状态信息保存代码。

0 投票
3 回答
10775 浏览

android - Imageview 和 PagerAdapter

我想将图像放在 ViewPager 的每一页中(就像一本书一样)。这些图片来自 url 列表:

我的适配器看起来像这样:

由于 asynctask,我拍摄了这些图像:

问题是它根本不起作用。

0 投票
9 回答
47806 浏览

android - ViewPager 内的 ViewPager

我想创建一个 ViewPager(包含三个项目),其中每个视图都是另一个 ViewPager(包含两个项目)。用户然后像这样滑动项目:

这怎么可能?

0 投票
2 回答
4848 浏览

android - 如何将数据提供给 PagerAdapter

我正在使用示例来使用 aViewPager和 a PagerAdapter。但是我怎么能从PagerAdapter适配器中提供数据,比如CursorAdapter我使用 加载数据的地方CursorLoader

.setAdapter()唯一ViewPager需要一个PagerAdapter. 然后我想我需要在CursorAdapter内绑定PagerAdapter,但我找不到这样做的方法。

0 投票
3 回答
5420 浏览

android - ViewPager 中的错误与其他片段一起使用

我需要你的帮助。

我有一个带有两个片段的 Activity:一个片段在 LinearLayout 中带有简单的 TextView,另一个片段:ViewPager 在 FragmentPagerAdapter 中有 3 个片段。

我使用替换操作进行事务处理,但 ViewPager 出现错误:java.lang.IllegalStateException: Recursive entry to executePendingTransactions。

这是显示此问题的源代码,也许有人知道如何解决它。

0 投票
3 回答
3648 浏览

android - 动态更改 android:configChanges

我正在创建一个杂志应用程序,它使用 a并在不同的 s 上ViewPager滚动。WebView大多数页面是纵向的,但其中一些可以被视为横向。

为了处理这个问题,我使用了两种方法来Activity持有ViewPager

有了这个,我们确保所有只需要纵向的页面都保持纵向(调用getActivity().enforcePortrait()),而具有纵向/横向视图的页面会经历整个重启过程(调用getActivity().allowOrientationChanges())。

我们已经到了想要在杂志的某些页面上添加视频的地步。不幸的是,HTML5 视频标签不能正常工作,所以我们在VideoView布局中添加了一个。现在要添加的功能是:

  • 纵向:在特定位置显示视频。(完成!
  • 在横向:使视频全屏(如 youtube 应用程序)。

我一直在尝试这样做,我发现的唯一方法是更改​​方法中VideoView的大小并通知配置更改。这样做的问题是增加了“不允许”重新创建视图的意愿。onConfigurationChanged()Activityfragmentandroid:configChanges="orientation|keyboardHidden"Activity

我想到的两种可能的解决方案:

  1. 从代码更改android:configChanges并取决于页面,但我找不到该调用是否存在。
  2. 强制重新创建该onConfigurationChanged()方法。我不知道如何强制重新创建fragment.

有任何想法吗?

0 投票
2 回答
6822 浏览

android-viewpager - ViewPager 中的旋转

我有一个带有 WebViews 的 ViewPager 片段。当我旋转手机时,ViewPager 会显示第一页。这是因为活动和片段被再次创建。如何保存 ViewPager 的状态。以下代码不起作用

0 投票
42 回答
417679 浏览

android - ViewPager PagerAdapter 不更新视图

我正在使用兼容性库中的 ViewPager。我已经成功地让它显示了几个可以翻页的视图。

但是,我很难弄清楚如何用一组新的视图更新 ViewPager。

我已经尝试了各种方法,例如 call mAdapter.notifyDataSetChanged()mViewPager.invalidate()甚至每次我想使用新的数据列表时都创建一个全新的适配器。

没有任何帮助,文本视图与原始数据保持不变。

更新: 我做了一个小测试项目,我几乎能够更新视图。我将粘贴下面的课程。

然而,似乎没有更新的是第二个视图,“B”仍然存在,按下更新按钮后它应该显示“Y”。

0 投票
2 回答
62457 浏览

android - PagerAdapter 中的 instantiateItem(ViewGroup, int) 和 ViewPager 中的 AddView 混淆

到目前为止,我一直在拼凑一些示例,以了解整个 Android SDK 的 API。然而,我陷入了僵局。

我正在尝试使用 XML 文件中的 2 个 TextView 来膨胀 LinearLayout。这些将是被分页的视图。我根本无法让它工作,并意识到我完全不明白代码发生了什么。

查看源代码,我可以看到 ViewPager.addNewItem 方法从提供的适配器调用 InstantiateItem。并且 addNewItem 被调用populate()。populate() 在许多其他地方被调用。

无论如何,在示例中,我已经体验到,当为 PagerAdapter 重写该方法时,必须包含对从作为参数addView()传递的 ViewPager 集合的调用。ViewPager

如果我想添加多个视图,我认为这将是多次调用 addView() 的情况,但是由于 instantiateItem() 返回一个 Object 给 ViewPager (在示例中我让它返回它添加的视图)我不知道要返回什么。我试过返回膨胀的视图和其他一些东西。

请,有人可以解释这里发生了什么吗?

非常感激。