问题标签 [android-nested-fragment]

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 投票
4 回答
14997 浏览

android - Android:你能嵌套 Fragments 吗?

是否可以将 a 粘贴到Fragmentanother 的布局中Fragment?有没有人试过这个?

0 投票
13 回答
270479 浏览

android - 片段里面的片段

我需要有关处理片段内部片段的帮助,实际上我在按下后退按钮时遇到了问题。应用程序主屏幕有按钮并按下每个按钮视图替换为新片段(并且该片段包含在另一个片段中),动态添加/替换片段工作正常,通过按下按钮1片段替换,按下按钮时也会发生同样的情况,但如果我按下再次按下按钮,出现异常:

表示已经添加了片段或内部片段,我正在尝试再次添加它们,任何人都知道如何在片段中使用片段并在没有任何问题的情况下来回移动,感谢支持。

MainActivity,其中片段是动态添加和替换的。

这是布局:main.xml

希望我试图解决我的问题。

0 投票
6 回答
141241 浏览

android - 片段中的片段

我想知道这是否实际上是Android API中的一个错误:

我有这样的设置:

  1. 是一个在右窗格中加载片段 #2(搜索屏幕)的菜单。
  2. 是一个搜索屏幕,其中包含片段#3,它是一个结果列表。
  3. 结果列表在多个地方使用(包括作为一个功能强大的高级片段本身)。

此功能在手机上运行良好(其中 1 & 2 和 3 是ActivityFragments)。

但是,当我使用此代码时:

水平线性布局中的whereR.id.leftPaneR.id.rightPaneare <fragment>

据我了解,上面的代码删除了常驻的片段,然后用新的片段替换它。太棒了...显然这不是发生的情况,因为当此代码第二次运行时,您会收到以下异常:

这是因为 FragmentNumber3 的容器已复制并且不再具有唯一 ID。在添加新的 Fragment 之前,最初的 Fragment 没有被销毁(?)(在我看来,这意味着它没有被替换)。

有人可以告诉我这是否可能(这个答案表明它不是)还是一个错误?

0 投票
9 回答
47806 浏览

android - ViewPager 内的 ViewPager

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

这怎么可能?

0 投票
9 回答
39180 浏览

android - 在片段中显示片段查看器

我有一个包含 ViewPager 的片段。ViewPager 与包含一组片段的适配器相关联。

加载父片段后,我遇到了一条IllegalStateException消息:java.lang.IllegalStateException: Recursive entry to executePendingTransactions

一些研究使我得出结论,系统无法在另一个片段中显示片段,但是似乎有一些迹象表明使用 ViewPager 完全可以做到这一点( ViewPager 中的一个错误将它与其他片段一起使用)。

事实上,如果我向我的父片段添加一个按钮,该按钮mPager.setAdapter(mAdapter)在按下时调用我的 ViewPager,则 ViewPager 会成功加载。这并不理想。

那么问题必须与片段生命周期相关。因此,我的问题是:有没有其他人找到解决这个问题的方法,如果有,如何解决?

有没有办法将 ViewPager 上的适配器设置延迟到片段事务之后?

这是我的父片段代码:

和适配器:

0 投票
14 回答
38479 浏览

android - 使用 FragmentPagerAdapter 的 ViewPager 中的片段在第二次查看时为空白

我有一个片段界面,底部带有选项卡,可在主视图中打开不同的片段。

我有一个特定的片段,它是一个项目列表。如果用户选择此列表中的一个项目,则会打开另一个片段,其中包含一个视图分页器,该页面在前一个片段的列表中的所有项目之间水平滚动。这很好用。

viewpager 使用 FragmentPagerAdapter 来显示项目。

当用户在列表中选择一个项目,查看它,然后点击选项卡栏上的按钮返回列表,然后选择另一个项目时,就会出现问题。第二次选择一个项目时,会出现一个空白屏幕而不是查看器。发生这种情况时,我的 LogCat 中没有收到任何错误。

为什么 viewpager 只在第一次出现?

FragmentPagerAdapter:

PagerFragment:

0 投票
1 回答
9943 浏览

android - ViewPager 内部片段问题

我在某个片段内的视图寻呼机有问题。要使用视图寻呼机,我使用的是 FragmentPagerAdapter。并且确定我 在尝试运行我的应用程序时遇到java.lang.IllegalStateException: Recursive entry to executePendingTransactions异常。

大多数人说在其他片段中不可能有 FragmentPagerAdapter,所以如果这个问题无效,我很抱歉。我只是希望也许有人对这个问题及其可能的解决方案有一些新的想法。

PS 我有一个建议在 AsyncTask 内部设置适配器(如果有人需要,我可以澄清这种情况),但是这个解决方案有一些与恢复这种片段状态相关的错误,所以它对我有用。

0 投票
2 回答
7206 浏览

android - Fragment 内的 FragmentPagerAdapter

我在实现基于多个 ViewPagers 的设计时遇到了一些麻烦。

在高层次上,我有一个 FragmentActivity,它的内容只有一个 FrameLayout。我有 3 个不同的片段要显示。所有 3 个都是全屏的,一次只能使用 1 个。

片段 1 是带有一些 TextView 和 ImageView 的基本片段。Fragment 2 有一个 ViewPager 和一个 FragmentPagerAdapter,它为它提供了几个简单的片段。Fragment 3 有一个 ViewPager 和一个 FragmentPagerAdapter 为它提供几个简单的 Fragment(与 Fragment 2 不同)

在我的 FragmentActivity onCreate() 中,我得到了 FragmentManager 并开始一个事务,用 Fragment 2 的新实例替换我的 FrameLayout 中的任何内容。

此时一切都按预期工作。我在 Fragment 2 中的 ViewPager 运行良好。

现在我有一个菜单选项,可以用 Fragment 3 的新实例替换 FrameLayout 中的 Fragment 2。这也可以正常工作。

当我尝试使用另一个替换事务将 Fragment 2 放回 FrameLayout 时,就会出现问题。我在顶部看到我的 PagerIndicer,但我的页面是空白的。

我尝试创建我的 Fragment 2 的新实例并调用替换事务。我还尝试在我调用替换时在我的片段上设置一个标签,并在我的替换之前添加一个 findFragmentByTag 检查,而不是创建一个新实例。在我第二次替换后,两者都给了我相同的空白页结果。

供参考 我的第一个设计只是一个带有 ViewPager 和 ViewIndicer 的 FragmentActivity。我上面的描述中只有 Fragment 2 和 Fragment 3 以及在它们之间切换的菜单选项。要切换,我定义了 2 个不同的 FragmentPagerAdapter,并调用 ViewPager.setAdapter 来设置选定的 FragmentPagerAdapter。这工作得很好,但现在我需要一个根本不使用 ViewPager 的新顶级片段。这就是为什么我决定将我的 ViewPager 移到它们自己的 Fragment 中。我的想法是我只需将我的片段交换到 FrameLayout。

我现在没有我的代码,所以我不能发布任何代码,但我明天会在我的问题中添加一些代码以帮助获得答案。

0 投票
2 回答
2517 浏览

android - Tab 内的 ViewPager 无法正确显示项目

我有一个设置标签主机的 FragmentActivity。每个选项卡都是一个简单的 Fragment,称为 TabFragment。TabFragment 有一个 ViewPager,在这种情况下它是antonyt的 InfiniteViewPager (在这里讨论:ViewPager as a circular queue / wrapping)。

(主要)问题如下:

  1. 我启动应用程序。我单击第二个选项卡。当我应该看到与第一个选项卡中相同的内容时,只有一个空白屏幕。向右滚动几次后,我确实看到了我的 TextViews。

  2. 在 ViewPagers 中滚动片段和更改选项卡最终会导致停止和 FC,而不会引发明确的异常。

这是我对 Fragments 的第一次尝试,我必须承认,我不理解观察到的行为。

任何提示将不胜感激。

整个项目都在这里

编码:

带有 TabHost 的 FragmentActivity:

TabFragment 包含 InfiniteViewPager:

TabFragmentD 和 TabFragmentF 几乎相同:

DayFragment 只包含一个 TextView:

寻呼机适配器:

InfiniteViewPager 和 InfinitePageAdapter 在antonyt 的 github 上

选项卡.xml:

选项卡.xml:

日.xml:

更新

正如 CommonsWare 所指出的,Android 在 Fragments 中的 Fragments 存在问题。

我将 tabs.xml 修改为:

并创建了空的 TabFragments (tab.xml):

所以现在切换标签几乎与滑动无关。

唯一的缺点是,在更改选项卡后将 ViewPager 的当前位置设置为 0 的任何尝试都存在一个非常烦人的问题(应用程序毫无例外地崩溃了)。

0 投票
1 回答
901 浏览

android - ActionBarSherlock + Tabbed Fragments + ViewPager 内幕一个片段

我有一个使用 ActionBarSherlock 的选项卡式应用程序。ActionBar 中的选项卡是每个片段。其中一个片段包含一个查看页面,它显示了许多片段 - 每个片段都包含来自 URL 的图像(使用 ImageView 的变体)。

当您第一次单击选项卡时,整个事情就很好地工作了 - 它显示了显示图像的寻呼机。第二次单击选项卡(单击其他选项卡后)没有任何反应 - 寻呼机不显示并且屏幕保持空白(除了 actionBar)。代码附在下面。似乎正在创建 FragmentPagerAdapter,但它没有第二次对项目进行分页。

我究竟做错了什么 ?