问题标签 [fragmenttransaction]

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

android - Fragment Backstack 中的奇怪行为

我有一个处理我的片段的活动。我创建了以下方法来添加/替换片段并将它们添加(或不添加)到后台堆栈:

这工作正常,直到发生以下情况:

开始片段(F1,假);//backstack中没有任何内容

开始片段(F2,真);//F1在后台

开始片段(F3,假);//F1在后台

开始片段(F1,假);-> 当我调用它时,它进入“if”并且 popBackStack 将不起作用,所以我的应用程序停留在 F3 而不是返回 F1。如果我按下后退按钮,那么应用程序会转到 F1...

那么我在这里做错了什么?我已经检查了名称是否存储正确。

0 投票
0 回答
649 浏览

android - 单个 Fragment 和 Fragment 的 ViewPager 之间的 FragmentTransaction 很慢

因此,我注意到单个片段和片段的 ViewPager 之间的 FragmentTransaction(特别是 onBackPressed())严重减慢。

以下是一些时间细节:

1) ParentActivity 有一个 Fragment,它有一个 ViewPager 的 Fragments。2) 执行 FragmentTransaction 以将上面的 ViewPager 替换为另一个单独的 Fragment。3) 按回 (onBackPressed()) 恢复到 FragmentTransaction 上方,所以现在我们回到第一个状态。

在此示例中,执行步骤 3),特别是 onBackPressed() 至少需要 150 毫秒。这可笑的长!但是,我注意到,如果在第 2 步)片段事务导致用不同的 ViewPager 替换原始 ViewPager,则 3)中的 onBackPressed() 执行得更好(即 <80 毫秒)。

也就是说,从 Fragment 中的 ViewPager 切换到同一 Fragment 中的另一个 ViewPager 执行得不错,但是,在 Fragment 的 ViewPager 到简单 Fragment 之间切换时,onBackPressed() 的性能会显着恶化。

有没有其他人看过这个?

0 投票
1 回答
166 浏览

android - android中tabhost和fragment组合事务抛出错误期望

我的应用程序中有一个标签主机。它使用一个片段活动,包含5个选项卡(片段)在第3个选项卡中,有一个按钮,当我点击它时,它将转到另一个片段,即替换原来的片段

那么问题就会出现在这个流程中:

1)打开第三个标签

2)点击按钮进入下一级片段

3)单击另一个选项卡,例如第一个选项卡

4)返回到第3个标签(此时会在下一级fragment而不是第一级)

5) 按返回键

如果我从第三个选项卡退出,如何返回第一级?我相信这会解决问题?感谢您的帮助

0 投票
1 回答
85 浏览

android-listview - 加载 ListView 片段失败

我有一个不工作的片段事务。我的活动(SearchActivity)显示了一个警报对话框片段,当用户单击是或否(肯定/否定)时,在 SearchActivity 中实现了一个 onClickListener。在被覆盖的方法中,我创建了一个片段事务来加载列表片段。但是,当我单击对话框按钮时,我的应用程序崩溃了。错误日志说有一个 id... 这不是 ListView 类。但是,我不知道这是从哪里来的。我调用新片段的方式是否正确?任何建议将不胜感激。

搜索活动覆盖:

对话片段:

列表片段(ResultListFragment):

错误日志:

0 投票
1 回答
2894 浏览

android - Android:在viewpager中的片段之间传递数据

在我的项目中,我正在使用带有 viewpager 的操作栏,并且有三个选项卡,它们是片段,还有一个第四个片段,当我单击第一个片段中的按钮时,我将其替换为第四个片段,现在我在这里遇到问题时我单击第四个片段的列表项,我需要将列表数据传递到第一个选项卡(第一个片段)并显示它。我正在使用 Bundle 发送数据,如下面的第四个片段

在我的第一个片段中,我如下调用 bundle

任何帮助表示赞赏。

0 投票
2 回答
1391 浏览

android - Android:使用 Fragmenttransaction 通过 Fragments 显示两个 ListView

对于我的应用程序,我试图显示一个列表,一旦这个列表结束,第二个就会开始。列表正在使用 ListAdapter 显示,它又是片段的一部分。一切运行良好,列表显示正确,但我想不出一种方法将一个列表放在另一个列表之下。我认为这不应该太难。概括:

我所拥有的: 一个FragmentPagerAdapter带有 3 个片段的两个片段,每个片段包含一个 ListView

我的搜索: 除了在这个网站上进行多次搜索外,这个人最接近我正在寻找的东西:这个人在Fragmentpageradapter 的 1 个选项卡中的 Fragmenttransaction遇到了同样的问题,但没有得到令人满意的回答,所以我想我可以在这里提出一个有效的问题。

我的问题: 我怎样才能将两个ListViews放在一个片段中?重要的是,例如,如果第一个 ListView 比屏幕大,我不希望在第一个 ListView 完全向下滚动之前显示第二个 ListView。

当前输出: 目前,两者ListViews都在同一位置,这意味着一个ListView在另一个之上,使得两者都无法读取

我以为我可以为FragmentTransaction. 但我就是不知道怎么做。

这是我结合顶部和底部的片段ListViews

}

这是对应的xml布局文件。

这是我的两个之一ListViews

}

这是对应的xml文件

非常感谢您阅读和思考!

0 投票
2 回答
903 浏览

android - 使用微调器、活动结构切换片段

目前我有一个setContentView包含列表片段的布局的活动。基本上它加载一个列表视图。

我的操作栏包含一个微调器,可让我加载不同的列表。我可以在后台加载列表对象,并在用户使用微调器选项切换到这些列表时更新一个片段的适配器。但这不会保留用户滚动到的位置。

我想搞乱加载多个列表片段,当用户选择不同的微调器选项时,会发生片段事务,显示与该特定列表关联的其他列表片段之一。

我将如何做到这一点,以及如何修改我的主机活动?

我见过的例子涉及在宿主活动FragmentTransaction的方法中创建所有片段,而不是在 XML 中创建片段。onCreate现在我在 XML 中有一个片段,需要再创建两个实际上相同的 ListFragments。

洞察力赞赏

0 投票
4 回答
6209 浏览

android - ListFragment onListItemClick 不起作用

我正在使用带有可滑动示例的选项卡布局,选项卡上是列表视图,当单击列表项时会打开新片段。我的问题是当我单击列表项时,什么也没有发生。我正在使用以下示例并添加我的代码 androidhive.info/category/tab-view

添加列表

0 投票
2 回答
13487 浏览

android - 用于 remove() 的 FragmentTransaction setTransition() 不会更改先前在 replace() 中设置的转换

所以,首先我创建一个像这样的新片段

后来我像这样删除它

但是关闭过渡是通过TRANSIT_FRAGMENT_OPEN动画完成的(或者我认为默认情况下相反),并且我清楚地设置了TRANSIT_NONE.

有什么想法吗?

0 投票
0 回答
325 浏览

android - 使用 FragmentTabHost 时处理 fragmenttransaction

所以这里的问题,

我正在使用带有四个选项卡的 fragmenttabhost,Tab A(FragA)、Tab B(FragB)、Tab C、Tab D

当我使用 Tab B 并执行片段事务以将 Tab B(FragB)上的片段替换为另一个片段(FragB_2)时,它被添加到后退堆栈中,因此我仍然可以使用后退按钮导航回来。但是当在选项卡 B 新片段时,我单击选项卡 A、选项卡 C、选项卡 D。然后当我返回选项卡 B 时,选项卡将显示新片段(FragB_2),当我按下后退按钮时。 . 没有片段显示。

每当我更改标签时,我都会尝试删除后台堆栈。ETC

此代码从 TabB 中删除了 Fragment B_2,但每当我再次返回 Tab B 时,Fragment B 就消失了。

我该如何绕过它?