问题标签 [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.

0 投票
1 回答
593 浏览

android - 如何在滑动事件上更改 PagerView 外部的按钮

我有一个 FragmentPagerAdapter( this ) 的实现,我想在片段更改页面时更改寻呼机外部按钮的背景。

这是我的主要 xml

我已经完全按照链接进行操作,但如果您想查看活动代码,请告诉我。

0 投票
1 回答
10724 浏览

android - Android:使用 viewPager 限制片段加载

我有 3 个由 FragmentPagerAdapter 管理的片段,设置为 viewPager。

我想一个一个地加载fragment,但是在执行FragmentActivity的onCreate方法时,执行的是前2个fragment(onCreateView方法)。

我尝试使用 setOffscreenPageLimit 方法限制片段加载,但没有任何改变。

感谢您的帮助 。

0 投票
1 回答
2963 浏览

android - 在 FragmentPagerAdapter 中保留片段的实例

是否可以保留为 aFragmentPagerAdapter内部创建的每个片段的实例FragmentPagerAdapter

像这样的东西:

我会遇到内存问题吗?

这个想法是MyFragmentPagerAdapter.fragment0为了获得对片段的引用。

0 投票
4 回答
29780 浏览

android - 在恢复活动时刷新 FragmentStatePagerAdapter 上的图像

我创建了一个FragmentStatePagerAdapter用于提供小画廊的活动。但是,当活动恢复时(例如,从其他活动回来后),我无法让它刷新。每次前两张图片都是空白的,只有在我将两张图片滑到一边后,它们才会刷新。我找到的答案都没有(尤其是压倒一切的getItemPosition()

我是这样设置的:

然后我有 FragmentStatePagerAdapter 类:

您可能已经注意到,我在 getItemPosition 中抛出 RuntimeException,因为我想检查它何时被调用。直到我添加一些包含我的图片的列表时才会调用它。然后 ImageFragment 类:

在我尝试修复它之后代码有点乱......但是:删除onDestroyView()不起作用。我已经放置mPagerAdapter.notifyDataSetChanged()了几个必须调用的地方(如onResume()),但没有结果。我对此有点绝望。

0 投票
2 回答
2642 浏览

android-fragments - Android - NestedFragments 参与填充选项菜单

我正在实现新的嵌套片段功能并且偶然发现了一个问题。我的观点基本上是这样的:一个主要活动(A)包括一个片段(B),这个片段(B)包括一个分页适配器,它有 3 个页面,每个页面也是一个片段(C)。在新的 getchildfragmentmanger 之前,这是不可行的,但它工作得很好。但是确实出现了一个问题,我希望片段 C 能够参与填充选项菜单。我厌倦了将 setHasOptionsMenu(true) 放在我的每个C片段的 onActivityCreated 方法中,并覆盖 onCreateOptionsMenu 但没有任何反应......如果我尝试从片段B填充菜单(这是寻呼机适配器的容器)我可以更改菜单项...

有什么想法吗 ?

谢谢。

0 投票
0 回答
1170 浏览

android - 带有加载器的 TabsPager 中的多个片段,滑动有效,点击无效

我正在使用ActionBarSherlock 示例进行构建。我有 3 个片段(每个扩展SherlockListFragment和实现LoaderManager.LoaderCallbacks<>),每个选项卡中有 1 个。他们都使用装载机。选项卡 2 和 3 使用相同的加载器类(我认为这不是问题)。

我将选项卡添加到我的选项卡中,FragmentPagerAdapter其中包含对不同片段的类引用,如果需要,还包括捆绑包。当我的应用程序启动并显示选项卡 0 时,getItem inFragmentPagerAdapter通过创建它们的片段来准备选项卡 0 和选项卡 1。选项卡 2 尚未创建。当我滑动到选项卡 1 时,会加载选项卡 2。当我再次滑动时,选项卡 2 正确显示。

当我从 tab 0 单击到 tab 2 时,会出现问题getItem确实创建了片段,并且加载器开始了它的doInBackground处理,但是选项卡 2 的片段永远不会在 onLoadFinished 中获取数据,因此与不确定的进度条保持一致。

之前发生了一些奇怪的事情。如果我单击,选项卡 2onLoadFinished将从选项卡 0 的加载器接收数据。当我将每个选项卡的片段加载器更改为使用不同的 ID 时(我认为即使它们具有相同的 ID,它们也不应该发生冲突),问题就消失了。例如:getLoaderManager().initLoader(0, null, this),getLoaderManager().initLoader(1, null, this)等。我不确定这是否只是说明我对装载机或其他东西的无知。

我的主要问题是,我可以强制FragmentPagerAdapter一次加载所有标签吗?即使这样做也可能不会完全消除我的代码中的这个错误。

第二个问题:当我四处滑动并单击刷新(请参阅下面的代码以了解其作用)时,操作栏中的刷新按钮最终会消失。有什么想法吗?

MainActivity(非常类似于链接的 ABS 示例):

Tab0 片段(与其他片段非常相似,因此我将省略其他片段):

Tab0 加载器(与其他加载器非常相似,因此我将省略其他加载器):

适配器非常基本,我相信它们不是问题。如果有人问我可以提供更多代码,但我认为这已经足够了。 提前感谢您的帮助。

更新:

当我简单地替换FragmentPagerAdapterFragmentStatePagerAdapter时。我看到它在FragmentPagerAdapter getItem is not called中引用。我的代码和使用有什么问题FragmentPagerAdapter

0 投票
1 回答
906 浏览

android - Android FragmentPagerAdapter 和光标加载器

我正在尝试实现一个自定义游标加载器,它将我的数据库中的数据加载到片段页面适配器中托管的片段中。我有一个活动(扩展 SherlockFragmentActivity),它有一个片段,它实现了一个片段页面适配器(通过新的嵌套片段)。fragmentpageradapter 下的每个片段都实现了一个自定义光标加载器,该加载器生成要显示的数据。我在 onActivityCreated 中启动加载程序并在 onResume 上重新启动它并在 onDestroy 上销毁它。假设我在第 1 页,寻呼机也自动启动第 2 页(更流畅的事务的默认行为)问题是如果我添加要在第 2 页中显示的项目(从操作栏)并且我在第 1 页,当我滑动到加载程序页面时不会刷新数据。

有什么想法吗 ?谢谢 !

0 投票
14 回答
89224 浏览

android - 使用 FragmentPagerAdapter 时如何获取现有片段

我在让我的片段通过 相互通信时遇到问题Activity,它使用FragmentPagerAdapter,作为实现选项卡管理的帮助器类以及ViewPager与关联的连接的所有细节TabHost。我已经实现FragmentPagerAdapter了与 Android 示例项目Support4Demos提供的一样的实现。

主要问题是FragmentManager当我既没有 ID 也没有标签时,我如何才能获得特定的片段?FragmentPagerAdapter正在创建片段并自动生成 Id 和标签。

0 投票
2 回答
2549 浏览

android - 如何让后退按钮在水平滚动中转到某个片段?立即退出应用程序

标题几乎解释了它。

我设置了水平滚动,第一个屏幕有其他片段以及整个水平滚动系统的按钮。我希望用户能够在其中一个片段上按下后退按钮,并使应用程序返回所有按钮的第一个屏幕。

从那里我希望后退按钮成为一个 AlertDialog 询问用户是否要退出应用程序。目前正在发生这种情况(在所有片段上,当您按下后退按钮时,我创建的 AlertDialog 会弹出)。

我研究了 Fragment 事务和“addToBackStack()”,但我不知道如何实现它。我已经查看了该站点上的开发指南和某些问题,但获得一两行代码并不能帮助实现它。

我有一个带有 FragmentPagerAdapter 的 FragmentActivity,每个 Fragment 都有自己的 Java 文件。我有 5 个片段,它们都在 FragmentActivity 和 FragmentPagerAdapter 中调用。

我认为我暂时不需要向你们展示我的任何代码,因为它都是以正常方式设置的。如果你这样做,请告诉我。

我在其他问题上发现的一些代码,尤其是其中一个问题如下:

不过,要继续这样做有点困难。

我将衷心感谢您的帮助。

编辑:我的代码已删除 - 不需要。

0 投票
1 回答
441 浏览

android - FragmentPagerAdapter 类仅在第一次单击选项卡时触发

我正在尝试开发一个基于标签的应用程序。每个选项卡都有其片段。其中之一有 ViewPager,而 ViewPager 有自己的页面。我通过在这个 viewpager 中滚动来从另一个移动。

当我第一次打开应用程序时,没有问题。但是,当我从该选项卡移动并再次访问它时,它不会显示 viewpager 内容,也不会触发 FragmentPagerAdapter 类。

标签 A - 标签 B - 标签 C

Tab C 片段有 ViewPage。

ViewPage 有自己的页面。

片段 C;