Android - addToBackStack() 不起作用?

2024-04-20

这是负责将片段添加到返回堆栈的函数:

public void populateContent(File f)
{

    ContentFragment cf = new ContentFragment(ctx, ac, this);
    FragmentTransaction transaction = ac.getSupportFragmentManager().beginTransaction();;
    cf.updateView(f);

    transaction.replace(R.id.contentFragment, cf);

    transaction.addToBackStack(null);

    transaction.commit();

}

当我单击后退按钮时,最后一个片段不会加载(什么也没有发生)。

知道是什么原因造成的吗?

编辑:FragmentManager 日志。

http://pastebin.com/mYnVdkLG http://pastebin.com/mYnVdkLG

在我看来,好像我的应用程序将第二个视图保存两次,而不是保存第一个视图,然后保存第二个视图。


看来在片段事务上调用 addToBackStack() 是不够的,我们必须处理我们自己按下“后退”按钮时弹出的后退堆栈。我将其添加到我的活动中并且它按预期工作:

@Override
public void onBackPressed() {
    if (getFragmentManager().getBackStackEntryCount() > 0 ){
        getFragmentManager().popBackStack();
    } else {
        super.onBackPressed();
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android - addToBackStack() 不起作用? 的相关文章

  • java.lang.IllegalStateException:密码未初始化

    我已经在 Android 应用程序中实现了加密 解密 我添加了一个加密类 该类已成为单例类 部分代码如下 public class Encryption private SecretKeySpec mKey null private Cip
  • 应用程序从最近的应用程序列表中滑出后,Android 服务崩溃

    我有一项由活动启动 未绑定 的服务 如果活动被破坏 例如按后退按钮 服务将继续运行 这当然是有意的 但是 如果我将活动从 最近的应用程序 列表中删除 该服务将立即重新启动 这是可重现的 每次活动 应用程序从列表中滑出时 都会对服务的 onC
  • 找不到我的绑定的 inflate 方法(使用 Android,数据绑定。)

    我正在使用数据绑定来绑定 Android 应用程序中的布局 我已经设置了布局 my custom xml 并生成了绑定类 MyCustomBinding 但 Android Studio 似乎没有立即找到 Binding 类的 inflat
  • 设置文本并从剪贴板获取文本[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 在Android中 我需要一些代码来
  • 如何使用MonkeyDevice.instrument?

    嗨 大家好 我正在尝试从 MonkeyRunner 脚本运行我的测试仪器之一 不幸的是我无法让它工作 我尝试使用不同的参数变量调用 MonkeyDevice instrument 但没有成功 我试过了 设备 MonkeyRunner wai
  • 设置显式注释处理器

    我正在尝试将 Maven 存储库添加到我的 Android Studio 项目中 当我进行 Gradle 项目同步时 一切都很好 但是 每当我尝试构建我的 apk 时 都会收到此错误 Execution failed for task ap
  • 如何使用 Android 加速计?

    我正在尝试构建一个应用程序来读取手机上加速度计的值 该应用程序仅支持 Android 2 1 如何使用 2 1 兼容代码读取加速度计 从这个开始 public class yourActivity extends Activity impl
  • 如何在 Android 中嵌入和播放 YouTube 视频

    我们可以在 Android 应用程序中观看 YouTube 视频吗 我的意思是 如果我们有 YouTube 上的视频链接 我们可以在 VideoView 或其他小部件中播放它吗 有什么想法吗 答案很简单 是 请查看以下链接 如何在我的 An
  • API 级别 15 的印地语字体(又名 Android 4.0.2)

    我有一个基于印地语内容的 Android 应用程序 并使用了 Android API 16 SDK 中的 devangiri 字体 并重命名为印地语 ttf 文本在 API 级别 16 和 17 上渲染良好 但在 Android API 级
  • 在 OpenGL ES 1.1 中将多个纹理绑定到一个网格

    如果我有一个网格 例如有 6 个面的立方体 每个面分别由 4 个顶点组成 总共 24 个顶点 并且我想对每个面应用不同的纹理 我该怎么做 目前 我使用 glDrawElements 一次绘制整个网格 立方体的所有 6 个面 将所有索引提供到
  • Nexus 10 (Android 4.4.2) 中未设置 FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY

    我有一个主要活动 A 它将调用另一个活动 B 其 oncreate 如下所述 当我在活动 B 中按主页按钮并按最近使用的应用程序时 从未设置标志 FLAG ACTIVITY LAUNCCHED FROM HISTORY 我使用的是三星 Ne
  • 离子和电容器 - Android 启动画面响应能力

    Context 这与闪屏图像响应能力有关 根据我的研究 它之所以发生是因为缺少文档电容器文档 启动画面 https capacitorjs com docs apis splash screen Problem 当实现电容器的闪屏插件时 问
  • 在 Android 应用程序中读取 CSV 文件

    我正在开发一个概念验证应用程序 以便我可以在我正在制作的更大的应用程序中实现该功能 我对 Java 和 Android 开发有点陌生 但希望这个问题不会太简单或太复杂 基本上 我试图从 CSV 文件中读取字符串列表 并使其可用于在应用程序的
  • Android 设计导航抽屉 - 如何在 nav xml 中添加开关?

    我正在使用新的 Android 设计导航抽屉 我想在抽屉里加一个开关 有办法实现这个吗 这是菜单 xml menu menu
  • onCreateOptionsMenu(菜单菜单)是什么

    方法中的Menu和menu两个参数是什么onCreateOptionsMenu Menu menu 以及如何使用这个方法 我还有一个问题为什么this参数用于 Intent intent new Intent this DisplayMes
  • 抱歉,该视频无法在视频视图中播放?

    freinds 我正在使用以下代码在我的应用程序中显示 mp4 视频 并面临以下问题 我在 google 和 stackoverflow 上看到了很多与这个问题相关的帖子 但每个人都给出了自己的建议 并且没有共同的答案 1 我在模拟器中看不
  • 如果使用推送服务关闭应用程序,应用程序会崩溃:parse.com

    我将清单中的接收器替换为我的
  • Eclipse 中的 Android 框架源码级调试

    Android 框架的 Java 源代码可从 source android com 获取 我可以下载它们并将其提供给 Eclipse 以便在调试时进入框架方法吗 更好的是 有人知道 Eclipse 插件可以根据需要自动从 Android G
  • Android 数组列表如何使用

    所以我有一个标记列表 我需要弄清楚如何处理它们 我已经搜索了几个小时 但没有明确说明如何使用这些信息或如何从列表中获取信息 请解释或分解我的代码并告诉我它到底是如何工作的 这样我就可以在地图上设置标记 这就是我将标记添加到列表中的方法 现在
  • Android 并获取 id 转换为字符串的视图

    在 Android 项目的 Java 代码中 如果您想要视图资源的引用 您可以执行以下操作 View addButton findViewById R id button 0 在上面的 R id button 0 不是一个字符串 是否可以通

随机推荐

  • 在 Puppeteer 中连接浏览器

    是否可以将浏览器连接到 puppeteer 而无需在 puppeteer 中实例化它 例如 像普通用户一样运行 chromium 实例 然后将其连接到代码中的 puppeteer 实例 答案是 是 和 否 您可以使用以下方式连接到现有的co
  • 选中复选框并存储在数组中 javascript

    任何人都可以告诉我如何检查并将复选框选中的值添加到数组中 单击时获取选中的值并将其存储在 JavaScript 中的数组中 这是我的代码 function ajax city var xmlhttp try xmlhttp new XMLH
  • jQuery 动画数字计数器从零到值

    我创建了一个脚本来将数字从零动画化到它的值 Working jQuery Counter 0 animate Counter Single text duration 1000 easing swing step function Sing
  • 如何禁用 EditText 中的 SwiftKey(第三方键盘)行为?

    我在 Android 应用程序中使用标准的 EditText 控件 此 EditText 的输入只能从应用程序的内置键盘插入 When SwiftKey 第三方键盘应用程序 安装在设备上 它会导致奇怪的行为 例如光标跳动 并在某些文本下方添
  • Windows 自动化 telnet

    我想运行一组通常在 telnet 中运行的命令 来自 c 例如我想运行以下命令 using System using System Diagnostics namespace InteractWithConsoleApp class Pro
  • 隐藏在ios 9中的附件栏

    嗨有人可以帮我吗 我想在 ios 9 中隐藏键盘上的附件栏 它的工作发现直到 ios 8 但在 ios 9 我无法隐藏附件栏我厌倦了这段代码但它不工作 for UIView possibleFormView in keyboardWindo
  • 外部 API 的 CORS 问题 - 通过 PostMan 工作,但不能使用 Axios 进行 HTTP 请求 [重复]

    这个问题在这里已经有答案了 正在开发一个涉及汽车数据的新 Laravel 项目 并找到了一个免费的查找 API http www carqueryapi com documentation api usage 一个示例端点是 https w
  • 发送和接收短信以验证手机号码

    我正在尝试在不使用第三方的情况下进行手机号码验证 为此 我的逻辑是这样的 用户输入带有国家 地区代码的手机号码 当他们点击验证按钮时 意图将使用随机唯一 ID 向用户定义的手机号码发送一条短信 之后应用程序广播将等待 2 分钟 当它收到短信
  • Android 中的 Javascript“document.cookie”?

    我需要帮助如何正确使用 javascript 文档 cookie 或者 如何在 Android 网络浏览器中从 javascript 编写 cookie 我已确保在设置中启用了 cookie 当我检查时 通过使用 navigator coo
  • 是否可以在不使用 WMI 的情况下获取网络适配器的 PnPDeviceId?

    我一直在尝试使用 p invoke setupapi 调用获取给定网络适配器的 PnPDeviceId 但没有成功 我不情愿地决定使用 WMI 如下所示 public static string GetPnpDeviceId string
  • 汉明窗有什么用?

    我正在使用一些执行傅里叶变换的代码 以计算音频样本的倒谱 在计算傅里叶变换之前 它会对样本应用汉明窗 for int i 0 i lt SEGMENTATION LENGTH i timeDomain i float 0 53836 0 4
  • 有时 listView.getChildAt(int index) 返回 NULL (Android)

    我有一个带有自定义适配器的 listView 当发生某些事情 在子视图中单击 时 我会进行一些计算并修改子视图 如果满足某些条件 则应修改与单击的子项无关的其他子项 这有时有效 但有时失败 DDMS 说视图为空 让我向您展示代码 if in
  • 使用 AJAX/jQuery 加载页面和 History.pushState() 方法保留浏览器“后退”按钮功能

    我想在通过 AJAX jQuery 加载页面时保留后退按钮功能load方法 并通过将 URL 推送到浏览器栏history pushState方法 当单击浏览器后退按钮并且第一次单击仅恢复上一个 URL 但不加载上一个页面时 就会出现此问题
  • Extjs + D3:渲染冲突

    当我结合 Extjs 和 D3 时 我正在挖掘一些非常有趣的东西 一般来说 ExtJS渲染整个页面的主框架 D3渲染该框架中某个div的动态图 由于Extjs中的渲染逻辑相当复杂 因此我放置D3渲染逻辑的位置似乎至关重要 这里我尝试了两种
  • 从点制作 geopandas 数据框,然后投影 gpd,出现错误:无法转换朴素几何图形。请先在对象上设置一个crs

    我将带有纬度 经度的数据集转换为 geopandas 数据框 我们称之为 gpd gpd 没有 CRS 我试图使用以下命令将此 gpd 投影到 EPSG 3857 gpd gpd to crs EPSG 3857 我收到一条错误消息 无法转
  • ruby 默认参数习惯用法

    当您想要一个函数有一个默认参数 但该参数依赖于另一个参数 另一个变量时 Ruby 中的习惯用法是什么 例如 在Python中 一个例子是 def insort right a x lo 0 hi None if hi is None hi
  • 如何在 NSImageView 中实现 NSImage 的连续旋转?

    未来的观众 我已经成功完成了这个旋转动画 并且可以在问题上找到带有描述的代码 NSView 中的 NSImage 旋转不起作用 https stackoverflow com questions 10836131 nsimage rotat
  • 注册到 global.asax 的路由的替代位置

    最常见的做法是在 Application Start 事件中注册路由global asax cs vb文件 但您需要有权访问该文件才能执行此操作 美好的 我要么没有 要么不想 我正在尝试将 Asp net MVC 应用程序集成到 Share
  • 我如何解释 meminfo 中的所有内存?

    我试图理解如何meminfo跟踪记忆 这是我正在看的内容 MemTotal 341596 kB MemFree 147288 kB Buffers 56 kB Cached 46752 kB SwapCached 0 kB Active 8
  • Android - addToBackStack() 不起作用?

    这是负责将片段添加到返回堆栈的函数 public void populateContent File f ContentFragment cf new ContentFragment ctx ac this FragmentTransact