问题标签 [fragmentstatepageradapter]

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 回答
1598 浏览

android - FragmentStatePagerAdapter 返回空视图

我使用 aFragmentStatePagerAdapter为了在 ViewPager 中显示片段,所有这些片段都遵循相同的布局容器(a FrameLayout),但它的数量在运行时是可变的,所以我将它们全部放入List片段的静态中并通过该列表到FragmentStatePagerAdapter(第一次通过它的构造函数,之后每次我只更新列表和notifydatasetchanged):

现在这是我Fragment List在运行时创建的方式:

并将新的片段提交给:ViewPager

在这个阶段一切正常,如果我浏览指定数量的片段,它将有效地导航,每个片段都有片段容器MyFragment

但是当尝试访问片段的视图时,它仅FrameLayout根据MyFragment两个片段返回指定的视图(),然后返回null,我尝试通过循环打印出返回的视图mpa

这就是我得到的:

0 投票
1 回答
121 浏览

android - 从 FragmentStatePagerAdapter 访问片段

我正在使用以下简单方法FragmentStatePagerAdapter,并且我想获得对其中一个片段的引用,请记住它们可能已被破坏。

我看到了这个问题,它的第二个答案说如果你打电话FragmentStatePagerAdapter.instatiateItem并且已经有对片段的引用,它就不会getItem()再次调用。我在这里查看了源代码,据我了解,这确实是发生了什么。

但是,我想知道,我可以执行以下操作吗?它看起来很简单,但我没有看到它在任何地方使用的事实让我怀疑我看不到的东西确实是错误的。

所以基本上我的问题是:使用以下内容访问片段会出现什么错误?

为了得到它,我会打电话给getItem(position).

0 投票
2 回答
516 浏览

fragmentstatepageradapter - 使用 FragmentStatePagerAdapter JazzyViewPager 转换不起作用

问题是转换不起作用,但整个应用程序都运行良好。只是过渡效果不起作用。我已经尝试了所有这些,但没有运气。代码中也没有错误,我不知道我做错了什么,所以请帮忙。这也是我的第一个应用程序,所以请善待。:) 我没有在 pageradapter 上包含 instantiateitem,因为如果我这样做了,就会出现 nullpointerexception。:/

活动主xml

<com.jfeinstein.jazzyviewpager.JazzyViewPager xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app1="http://schemas.android.com/apk/res/com.eight.yamjay" android:id="@+id/jazzy_pager" app1:style="cubeout" android:layout_width="match_parent" android:layout_height="match_parent" />

主要活动:

公共类 MainActivity 扩展 FragmentActivity {

}

FragmentStatePagerAdapter:

公共类 FragmentAdapter 扩展 FragmentStatePagerAdapter{

}

片段1:

公共类 Fragment1 扩展 Fragment {

}

0 投票
1 回答
852 浏览

android - 带有 ViewPager、FragmentStatePagerAdapter 和 api 调用的 Espresso

我有一个活动 MainActivity,它由一个带有选项卡的 ViewPager 组成,用于在不同页面(片段)之间切换。在第一页(FragmentA,onResume())上,我执行一个 api 调用来获取数据并为该页面 onResume() 设置视图。这个页面可以被认为是我的主页,所有的动作都来源于此。

如果我使用 AsyncTask,Espresso 是否应该自动等待 - 一旦我启动 MainActivity - 从第一页片段进行的 api 调用完成?或者我是否需要针对这种情况实施 IdlingResource/Sleep?我不确定 FragmentStatePagerAdapters 和 ViewPagers 的线程是如何工作的。

这是测试这个的最好方法吗?我是否需要重构代码以从 MainActivity 而不是在片段中进行 api 调用等?

0 投票
1 回答
2435 浏览

java - FragmentStatePagerAdapter、childFragmentManager 和方向更改组合不好?

这是我的问题,我有一个活动,其中包括一个使用(FragmentStatePagerAdapter)具有 ViewPager 的 Fragment,当 Activity 第一次加载时一切正常,但是当将 setRetainInstance(true) 设置为父片段(那个与寻呼机),并且活动的方向发生变化,它会导致

java.lang.IllegalStateException:没有活动

尝试添加保存的片段时,代码如下:

活动:

注意:我必须在 onCreate 上保存片段实例,因为当代码到达 onStart 时,该片段的引用为空(这个问题与 NavigationDrawer 有关系时并不重要),所以我需要手动保存片段的实例。

活动布局:

ViewPager Fragmentm 这个类为 DetailPagerFragment 扩展,这是一个自定义分页器片段,它只包装分页器的通用代码(例如视图膨胀,使用 inflateView 方法),这就是为什么分页器被添加到片段而不是直接添加到活动的原因

0 投票
2 回答
1484 浏览

android - Android FragmentStatePagerAdapter 重新加载中间片段时返回空白屏幕

我正在尝试使用 FragmentStatePagerAdapter 和 ViewPager 制作具有 4 个选项卡的应用程序。

当我第一次运行应用程序时,如果我按顺序选择选项卡(0 到 3)一切正常,那么如果我尝试执行返回(3 到 0)选项卡 1 显示一个空白屏幕,如果在那之后,我选择选项卡 2,然后也是空白,如果我转到选项卡 0 并再次执行选项卡 2 恢复生活,有时选项卡 1 恢复生活,但我还没有找到任何顺序...

我知道这是一团糟……问题是选项卡 1 使用失败,选项卡 2 有时失败,选项卡 0 和 3 总是可以正常工作。如果我交换片段的位置一切都是一样的,我认为有些与片段代码无关......

logcat 中没有显示错误,调试片段显示一切都按应有的方式进行......

我已经有几天试图修复它但没有运气(显然......),我试图覆盖 getItemPosition() 以返回 POSITION_NONE,我试图让我自己的 FragmentStatePagerAdapter 像这里说http://speakman .net.nz/blog/2014/02/20/a-bug-in-and-a-fix-for-the-way-fragmentstatepageradapter-handles-fragment-restoration/ 但什么都没有......还有更多没有的东西对我没用。

一些代码: 主类

适配器

谢谢。

更新:我的片段在单独的类中,它们不是静态的,这重要吗?我刚刚意识到的另一件事是,在我触摸标签后,它似乎正在破坏片段,因为如果我慢慢滑动,我可以看到片段,但突然间一切都消失了

0 投票
1 回答
176 浏览

android - 如何做 FragmentStatePagerAdapter 动态变化

我正在使用 ViewPager 和 FragmentStatePagerAdapter 实现一个小图片库(我正在使用 FragmentStatePagerAdapter,因为我支持 android 2.3,因此低内存设备也必须兼容)。

由于我从 Web 服务(在 AsyncTask 中)获取图像,因此我将示例图像放置在图库的所有片段中,直到来自 Web 服务的图像完全下载。

我的问题是,如何使用下载的图像之一更改可见片段中的示例图像?我想我必须在 AsyncTask 内的 onPostExecute() 中做一些事情,捕捉此时的可见片段并更改 ImageView 中的可绘制对象,但我不确定该怎么做。欢迎所有建议。

0 投票
0 回答
276 浏览

android - viewpager中的Android listview不显示结果

我是安卓新手。我正在使用一个有 4 页的 viewpager,第一页有一个列表视图。当我运行我的应用程序时,列表不显示任何项目,但是当我切换三个页面并返回第一个页面时,会显示列表视图。我尝试更改寻呼机的 offscrren 限制,但它不起作用。请帮助我,因为我被困了很多天并且找不到答案。提前致谢。

0 投票
1 回答
655 浏览

android - 如何从嵌入在 viewpager 中的片段中检索用户数据?

我有一个在 Activity 中定义的 ViewPager,以及在 ViewPager 中按顺序显示的许多片段。在这些片段中有动态构造的复选框和单选按钮,用户应该对其进行操作。在用户滑动到下一页的那一刻,我需要检索用户数据并将其存储在 Application 对象中。我无法弄清楚这样做的标准方法是什么。由于有很多 Fragment,我选择使用 FragmentStatePagerAdapter。欢迎任何帮助,在此先感谢!

Update-1:我确实有这个:

检查调试器时,在启动后,ViewPager 会实例化 Fragments 0 和 1(标准行为)。当用户操作 fragment-0 并滑动时,确实调用了处理程序,但位置 = 1,而不是 0。我要读取的公共元素为空!

更新-2

我在调试器中注意到我需要的数据存储在 adapter.mCurrentPrimaryItem 中。如何在代码中检索 CurrentPrimaryItem?!

0 投票
0 回答
72 浏览

android - 如何从片段调用 FragmentStatePagerAdapter

我有 2 个片段 - 列表片段和详细片段。当我单击列表片段的项目时,应该将我重定向到详细片段。在详细页面中,我应该使用查看寻呼机。它使用寻呼机适配器工作。但我应该使用片段状态寻呼机适配器。如何从片段中调用此适配器。我尝试使用它......但它会返回一个空容器。

任何建议将不胜感激..提前感谢...