问题标签 [fragmentpageradapter]
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.
android - 使用 getItemPosition(Object object) 对 FragmentStatePagerAdapter 中的页面重新排序
我相信 FragmentStatePagerAdapter 在getItemPosition(Object object)
以重新排序页面为目的进行覆盖时行为不正确。
下面是一个简单的例子。在初始状态下,页面的顺序是{A, B, C}。调用 后toggleState()
,页面顺序变为 {A, C, B}。通过覆盖getItemPosition(Object object)
,我们确保正在查看的当前页面(A、B 或 C)不会改变。
我遇到了两种似乎不正确的单独行为。
如果我立即调用
toggleState()
(在查看页面 A 时,在滑动到任何其他页面之前),应用程序就会崩溃。查看 的来源
FragmentStatePagerAdapter
,这将通过在调用第 136 行mFragments
之前首先检查的大小(如第 113-115 行)来解决。set()
如果我首先滑动到页面 B,然后
getItem(2)
调用,页面 C 被创建,并且mFragments
现在的大小为 3(这将防止上述崩溃立即发生)。然后我滑回页面 A,页面 C 被破坏,因为它应该是(因为它是 2 页,并且我使用默认的屏幕外页面限制 1)。现在,我打电话给toggleState()
. 页面 B 现已销毁。但是,不会重新创建页面 C!这意味着,当我现在向右滑动时,我得到一个空白页面。
首先,很高兴知道我是否正确并且这些实际上是错误,或者我是否做错了什么。如果它们是错误,任何人都可以提出解决方法(除了自己调试和重建支持库)吗?肯定有人已经getItemPosition(Object object)
成功覆盖(除了将所有内容设置为POSITION_NONE
)?
我正在使用支持库的当前版本 (10)。
android - Android 如何在不调用 onCreate 的情况下更改膨胀到 ViewPager 的布局方向?
我正在使用一个viewpager,它加载一些布局并在滑动时做一些事情。我希望能够在活动更改方向时,寻呼机将布局更改为特定方向,而无需再次加载数据。这可能吗 ??
我知道,为了避免一遍又一遍地调用 onCreate 方法,您必须在清单中指定以下行,然后使用 onConfigurationChanged:
android:configChanges="方向"
但是这样做布局不会根据方向加载正确的布局(所以如果是横向加载横向布局),而是保持加载的布局并调整其大小。
java - Android 在 FragmentPagerAdapter 中更改片段顺序
我在 FragmentPagerAdapter 中有大约 20 个片段,其中包含一个从中选择片段的列表,因此没有片段的重新创建。
FragmentPagerAdapter 设置为 ViewPager 的适配器,然后我重新排序片段(洗牌只是为了测试)
并且由于某种原因,只有标题的顺序被更改,即使它为 getItem 返回不同的片段,因为顺序不同。为什么会这样,我该如何解决?
android-viewpager - ViewPager 和 Fragment Pager 适配器实现
所以我正在尝试使用 viewpager 和片段寻呼机适配器来实现滑动视图/片段。convert_home 是我的主要 xml 文件,它具有 android.support.v4.view.PagerTitleStrip 和
temperature.xml 和velocity.xml 是我的另外两个观点。我不知道我哪里出错了。应用程序崩溃(加载时)
java - 添加三个片段会引发 IllegalStateException
我将生成的活动与滑动视图和标题条一起使用。我的代码在每个活动中使用两个片段,但是当我添加三个片段时,它会强制关闭。
错误是:
这是我的活动类 MainMenu:
每个片段几乎是相同的,所以我只包括其中一个。
这是我的 InsertCity 类:
我很确定这与我的 SectionsPagerAdapter 类或删除视图有关,但我不知道如何解决它。
帮助将不胜感激。
非常感谢!
java - 如何让 PagerAdapter 加载所有页面
我知道默认情况下PagerAdapter
只加载当前、下一页和上一页。有没有办法改变它,所以它会加载每一页?谢谢!
android - Viewpager 未正确保留视图
我有一个 SherlockFragment,它正在膨胀一个包含 viewpager 的布局,它允许我滑动到我创建的许多选项卡片段。
在第一次将此片段附加到我的活动时,一切正常且符合预期,但如果我返回并重新输入片段,viewpager 或其适配器(看起来像这样:“TabAdapter extends FragmentPagerAdapter implements ActionBar.TabListener, ViewPager.OnPageChangeListener")导致问题:
- 存储在viewpager中的fragment的视图是不可见的
- 实际上我有 4 个选项卡,如果我设置“setOffscreenPageLimit”,无论我在做什么,在娱乐的 viewpager 中都看不到任何东西;
如果未设置“setOffscreenPageLimit”,则仅当我向左或向右滑动至少两个选项卡时才会显示 viewpager 内的视图。 - 此外,如果未使用“setOffscreenPageLimit”,寻呼机现在似乎在滑动时跳过了一些选项卡。
感谢您提供任何可以解决此问题的想法。
android - DialogFragment 中的 ViewPager + FragmentPagerAdapter 得到“IllegalArgumentException:No view found...”
我试图显示一个 FragmentDialog (创建并显示为一个对话框,而不是作为视图层次结构中的内容添加),其中有一个 ViewPager,其内容由 FragmentPagerAdapter 给出(提供由图像组成的片段)。
该代码在从 FragmentActivity 显示 ViewPager + FragmentPagerAdapter 时完美运行,但在从 FragmentDialog 执行此操作时会出现以下异常:
“IllegalArgumentException:没有为片段 SimpleFragment 找到 id 0x7f040077 的视图...”
这是我的代码:
一个带有按钮的 SherlockFragmentActivity,用于创建和显示对话框。
片段对话框:
这是非常简单的 MyFragmentPagerAdapter,我只放了 getItem() 方法,并且 nullPointer 检查:
最后是 SimpleFragment:
更多信息,如果传递给适配器的内容(具有 3 个整数的 int 数组)的长度为零,则适配器不会尝试创建任何片段,因此对话框正确显示但为空(如预期的那样)。膨胀时在 SimpleFragment.onCreateView() 抛出异常。异常中引用的 id(未找到)对应于 ViewPager 的 id,并在 R.layout.simple_fragment 中正确定义。
我还尝试使用 AlertDialog.builder 以及直接使用 Dialog() 构造函数构建 Dialog,但得到相同的行为。
android - 如何在选定选项卡上禁用 FragmentPagerAdapter 中第一个 Fragment 的重新创建?
onCreateView
我在 FragmentPagerAdapter 中的第一个片段不是很快。因此,将当前选项卡更改为第一个选项卡会有延迟。
如何在选定选项卡上禁用在 FragmentPagerAdapter 中重新创建第一个片段?
android - FragmentPagerAdapter 仅存在于 Android.Support.V4.App(而不是 Android.App)中
我在 Android.App 中找不到 FragmentPagerAdapter。
我不想使用 Android.Support.V4.App 中的 Fragment,因为我的目标 API 是 14 及更高版本(Android 4.0 及更高版本)。所以,我只想使用普通的 Android.App.Fragments,以及相关的类。
我只在 Android.Support.V4.App 中找到了它,但这对我来说还不够 b/c 我正在尝试使用 Android.App.Fragment 的(不是 Android.Support.V4.App.Fragment 的)并且在那里Android.App(不是Android.Support.V4.App)中的相关类,如果我从支持库中派生我的分页器,我的代码将无法编译,因为Android.App和Android.Support之间的类型不匹配.V4.App。
就像这里的情况不能转换为 android.app.Fragment一样,是否有一个“普通”寻呼机(PagerAdapter)类我应该用来代替 FragmentPagerAdapter 或其他东西(就像你从普通 Activity 派生,而不是从 FragmentActivity 派生一样,面向 API 11 或更高版本时)。
这是我正在使用的示例代码(它是来自https://github.com/xamarin/monodroid-samples/tree/master/Support4的 MonoDroid 示例的 Support4.sln 解决方案中的 FragmentPagerSupport.cs 文件)。
我已经注释掉了引用 Android.Support.V4.App 的行并将它们替换为引用 Android.App 的代码。Android.Support.V4.App 之外没有我能找到的 FramePagerAdapter,我真的需要它)。
谢谢。