如何导航回到 Blackberry 中的上一个屏幕?

2023-11-23

在黑莓中,我可以从一个屏幕导航到下一个屏幕,但无法导航回上一个屏幕。在模拟器中按退出键将终止整个应用程序。模拟器中是否有其他键可以转到上一个屏幕或有任何代码可以返回?如果你知道请帮助我。


正如安德烈所说,有一个显示堆栈,所以如果你推入屏幕而不弹出它们,它们将保留在堆栈中,因此关闭当前屏幕,上一个屏幕将自动显示,如果没有上一个屏幕。屏幕上,应用程序将关闭。

然而,在显示堆栈中容纳许多屏幕并不好,因此您可以在屏幕内部实现某种堆栈,以手动处理导航。

用于屏幕堆栈实现的抽象屏幕类:

public abstract class AScreen extends MainScreen {
    Screen prevScreen = null;

    void openScreen(AScreen nextScreen) {
        nextScreen.prevScreen = this;
        UiApplication.getUiApplication().popScreen(this);
        UiApplication.getUiApplication().pushScreen(nextScreen);
    }

    void openPrevScreen() {
        UiApplication.getUiApplication().popScreen(this);
        if (null != prevScreen)
            UiApplication.getUiApplication().pushScreen(prevScreen);
    }
}

第一个屏幕示例:

public class FirstScreen extends AScreen implements FieldChangeListener {

    ButtonField mButton = null;

    public FirstScreen() {
        super();
        mButton = new ButtonField("Go second screen", ButtonField.CONSUME_CLICK);
        mButton.setChangeListener(this);
        add(mButton);
    }

    public void fieldChanged(Field field, int context) {
        if (mButton == field) {
            openScreen(new SecondScreen());
        }
    }
}

第二个屏幕示例:

public class SecondScreen extends AScreen implements FieldChangeListener {

    ButtonField mButton = null;

    public SecondScreen() {
        super();
        mButton = new ButtonField("Go first screen", ButtonField.CONSUME_CLICK);
        mButton.setChangeListener(this);
        add(mButton);
    }

    public void fieldChanged(Field field, int context) {
        if (mButton == field) {
            openPrevScreen();
        }
    }

    public boolean onClose() {
        openPrevScreen();
        return true;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何导航回到 Blackberry 中的上一个屏幕? 的相关文章

  • Flutter 容器的 onTap 方法

    一直在开发一个 flutter 应用程序并根据一些 Firebase 数据动态构建一些容器 我想知道是否有办法获得容器的 onTap 方法 或任何不是按钮的小部件 这是一个代码示例 child new Container INSERT ON
  • 在 Qt 中旋转图像

    在我的应用程序中 我想旋转图像 我已将图像设置为QLabel 我已经设置了一个QPushButton 单击该按钮时我想向四个方向旋转图像 右 gt 底部 gt 左 gt 顶部 有什么帮助吗 假设您有一个指向 QLabel 的指针 您可以执行
  • UI 函数在快速事件完成之前触发

    我有一个停靠在 Silverlight 应用程序中的 Web 浏览器框架 有时会在其上弹出全窗口 XAML Silverlight UI 元素 我已经或多或少修复了一个老问题 即 Web 框架的内容似乎与 Silverlight 内容不能很
  • Android 背景 + 文本 + 按钮图标

    我想要一个图像设置为文本的背景 并在文本的左侧设置一个图标 在iPhone中非常简单 但不知道如何在Android上做到这一点 调整按钮的大小并保持图标 文本的位置和距离正确 iPhone 安卓我有这个 xml代码是
  • 使用JPanel绘制直线并获取点坐标

    我现在完全不知所措 我没有太多用 Java 构建 GUI 我一直在阅读有关 swing 和 JPanel 的所有内容 我认为我想做的事情是可能的 我只是还没有弄清楚how 我正在尝试构建一个 GUI 您可以在其中在某个绘图区域内绘制直线 我
  • Xamarin Forms:单击重新启动按钮时网格按钮 UI 中断

    我正在使用一个button在 的里面grid用于显示字母以实施Word search game 最初 用户界面看起来不错 但是当单击play again按钮 UI 中断 截屏 网格内设置按钮的代码 void SetGridLayout ch
  • 如何从 golang fyne 容器中删除对象

    我正在开发 GUI 应用程序 需要动态添加和删除 gui 元素 我想知道是否有办法从 golang fyne 容器中删除元素 在下面的示例代码中 我创建了容器并动态添加元素 现在我希望能够删除这些元素而不是隐藏它们 我尝试的一个 解决方案
  • BlackBerry - 与 FieldManager 一起享受乐趣

    我正在尝试创建一个 View 类 根据它的创建方式提供水平或垂直布局 我正在使用委托来实现此目的 class View extends Manager private Manager mDelegate public View Manage
  • C# 应用程序 GUI 和命令行

    我目前有一个带有 GUI 的应用程序 是否可以从命令行使用相同的应用程序 没有 GUI 并使用参数 或者我是否必须为命令行工具创建一个单独的 exe 和应用程序 编辑您的项目属性以使您的应用程序成为 Windows 应用程序 而不是 控制台
  • 如何在 Tkinter 的 Button 小部件中创建多个标签?

    我想知道如何在 Tkinter 中创建具有多个标签的按钮小部件 如下图所示 带有子标签的按钮 https i stack imgur com jOZRw jpg正如您所看到的 在某些按钮中有一个子标签 例如按钮 X 有另一个小标签 A 我试
  • 用Red语言制作GUI对象

    我有一个小面板的以下简单代码 view t text label f field button Click here t text f text 但我必须制作其中两个并将它们放在一个窗户上 我想创建单个对象类并从中创建 2 个对象 我看到可
  • Java Toolkit 获取第二个屏幕尺寸

    我的计算机上插入了两个屏幕 想知道 JFrame 或 Toolkit 中是否有方法可以检测窗口位于哪个屏幕上 我有这个代码 java awt Toolkit getDefaultToolkit getScreenSize 它获取主屏幕的屏幕
  • WPF - 防止用户操作在应用程序繁忙时排队

    当应用程序繁忙时 意味着 UI 线程被阻止执行某些操作 您建议采用什么方法来忽略用户请求 例如鼠标单击 具体的例子可能是网格控件的排序 如果我们说排序很慢 那么在操作运行时 我想忽略额外的用户点击 这些点击会堆积并多次执行操作 除了诉诸禁用
  • PowerShell,如何在现有浏览器选项卡中打开 URL?

    我想制作一个 powershell 脚本 它将 运行 Chrome 打开 google com 网站 停留一段时间 在同一选项卡中从 google com gt bing com 转到 这就是适合我的代码 它运行 Chrome 并在选项卡中
  • 如何去除QWizard中的水平线?

    我正在研究一个样式表QWizard我想删除按钮上方的水平线 我尝试递归浏览所有小部件并将其边框设置为无 但似乎没有任何小部件具有此边框 这是我的代码 可以找到完整的可构建示例here https gist github com ardeid
  • BlackBerry - App World 中应用程序的 html 链接

    我在应用程序商店中有一个黑莓应用程序 我想从网页链接到此应用程序 因此如果用户在浏览器上转到该页面并单击链接 则将启动 BlackBerry AppWorld 应用程序 并且用户将能够轻松下载本机 应用程序 可以通过这样的链接在 iPhon
  • C# 中的线程和 GUI 元素

    我正在尝试制作一个基本的 IRC 客户端 但我的问题是让文本显示在 RTF 框中而不出现滞后 我决定使用线程 并且我想更新线程中的 RTF 框 但我不能 因为它给了我关于 RTF 框元素不是静态的错误 有什么见解吗 如果你们想要的话我会粘贴
  • Perl Tk 模块有哪些缺点?

    与在 Perl 中创建 GUI 的其他解决方案相比 Tk 模块有哪些缺点 我最近浏览了 Perl 的各种 gui 模块 这是我的总结 免责声明 最终我发现现有模块都不能满足我的需求 所以我开始编写自己的 gui 工具包 Tk 工作起来很不错
  • 向 Thunderbird 添加多个附件(从命令行)

    我尝试通过命令行创建带有多个附件的新消息 但这不起作用 thunderbird compose attachment etc mtab attachment etc fstab 仅附加第一个文件 第二个失踪了 上面的命令行有什么问题 PS
  • GUI Java 程序 - 绘图程序

    我一直试图找出我的代码有什么问题 这个想法是创建一个小的 Paint 程序并具有红色 绿色 蓝色和透明按钮 我拥有我能想到的让它工作的一切 但无法弄清楚代码有什么问题 该程序打开 然后立即关闭 import java awt import

随机推荐

  • 使用 proc_open 时从 STDIN 管道读取

    我正在尝试制作一个网站 人们可以在线编译和运行他们的代码 因此我们需要找到一种交互式方式让用户发送指令 其实大家首先想到的是exec or system 但是当用户想要输入某物时 这种方式就行不通了 所以我们必须使用proc open 例如
  • 如何以正确的顺序安装多个 .whl 文件

    我最近发现自己处于必须在没有互联网连接的机器上安装 python 项目的所有依赖项 20 的情况 我用了pip download 得到所有的 whl文件并手动传输它们 直到现在 我才完全欣赏 pip 的天才 以及它如何自行计算出依赖关系树并
  • 如何检查变量的类型是否与变量中存储的类型匹配

    User u new User Type t typeof User u is User gt returns true u is t gt compilation error 如何以这种方式测试某个变量是否属于某种类型 其他答案都有重大遗
  • 如何将 JFrame 嵌入到 JavaFX 2.0 应用程序中?

    我在 stackoverflow 上广泛搜索了有关该主题的帮助 但我发现的问答很旧 并且当前版本的 JDK 的答案已更改 我目前使用的是 7u51 请注意 我一开始就不是非常精通 Swing 但我相信我了解基础知识 我一直更关注应用程序内部
  • 在订单电子邮件模板中添加自定义属性 - Magento

    我创建了一个 公司名称 属性 该属性会添加到我的客户帐户信息中 并且是必填字段 它会在注册 表单和编辑页面上得到很好的填写 并且也会显示在后端的客户网格上 但是 我无法在任何订单电子邮件模板中显示公司名称 我相信这是因为我的订单表中既没有任
  • 在哪里可以找到 LDAP Active Directory 消息的列表及其含义?

    我收到错误 LDAPException 无效凭证 49 无效凭证LDAPException 服务器消息 80090308 LdapErr DSID 0C0903A9 注释 AcceptSecurityContext 错误 数据 52e v1
  • LazyVGrid 内的 NavigationLink 循环背面的所有条目,SwiftUI

    我有一个图像网格 点击的每个图像都应在 NavigationView 上推送一个包含图像详细信息的视图 导航链接按预期工作 但是当我按后退按钮时 它会打开下一个图像 依此类推 直到循环所有图像 到底是怎么回事 这是View struct I
  • Google 地图在 Android Pie 上崩溃

    我正在运行最新版本的 Android Pie 的 Google Pixel 上测试 Google 地图 Caused by java lang ClassNotFoundException Didn t find class org apa
  • Android adb 返回“未找到设备”错误

    当我通过 USB 将 HTC Desire S 手机插入 PC Win7 时 设备管理器会显示一个名为 基于 HTC 远程 NDIS 的设备 的网络适配器 尝试使用 adb 进行端口映射 会发生这种情况 7 22 09 68 gt C Pr
  • Android Studio 中“android.database.sqlite.SQLitepenhelper 中没有可用的默认构造函数”

    尝试使用 SQLiteOpenHelper 扩展类 但出现此错误 android database sqlite SQLitepenhelper 中没有可用的默认构造函数 以及其他 无法解析符号类别 注意 class DbHelper ex
  • 条件不等于时触发

    我需要一个Style在WPF下 当满足多个条件时设置多个属性 然而 我的条件之一是类型Not Equal To 我应该如何更改以下内容Style这样条件就变成了Not Equal To 甚至可以在没有的情况下实现吗 IValueConver
  • Oracle 假脱机到文件中的最大列宽

    我有一个这样的脚本 SET ECHO OFF SET FEEDBACK OFF SET VERIFY OFF SET HEADING OFF SET TERMOUT OFF SET TRIMOUT ON SET TRIMSPOOL ON S
  • Android:什么时候用 finish() 结束课程?

    我经常看到以以下结尾的类的例子finish 但绝对不总是如此 我的问题是你应该什么时候结束课程finish 它到底做了什么 用后退按钮结束课程和用后退按钮结束课程有什么区别finish 提前致谢 finish 可以调用来杀死 销毁 一个 A
  • 有没有办法将公共方法的访问限制为 C# 中的特定类?

    我有一个带有 C 中公共方法的 A 类 我想只允许 B 类访问此方法 这可能吗 UPDATE 这就是我想做的 public class Category public int NumberOfInactiveProducts get pub
  • 我需要向 Ninject.Web.MVC 3.0 注册 Ninject.OnePerRequestModule 吗?

    我在 MVC4 应用程序中使用 Ninject 进行 DI 和 Ninject MVC3 扩展 特别是版本 3 0 0 6 正在阅读文档在 Ninject 的 wiki 上 似乎使用创建的对象的生命周期InRequestScope实际上是由
  • Eclipse Neon HTTP 代理身份验证需要错误

    当我转到 安装新软件 并选择更新站点或 转到 可用软件站点 并单击 重新加载 我收到 需要 HTTP 代理身份验证 错误 我搜索过网络 并尝试了找到的建议 例如设置eclipse ini with vmargs Djava net pref
  • 如何将一个结构转换为另一个具有完全相同字段名称和类型的结构?

    我有两个具有相同名称 字段 和字段类型 的相同结构 它们位于不同的模块中 它们是由派生宏构造的 并且希望轻松地从一种转换为另一种 e g mod a struct A field1 String field2 String mod b st
  • 从 x64 .NET 访问 x86 COM

    我有一个 x64 服务器 因为我的库被编译为 AnyCPU 所以它在 x64 下运行 我们需要访问在 x86 下注册的 COM 组件 我对 COM 的了解还不够 我的谷歌搜索也没有任何结果 问题 对于 COM 组件 我可以使用从 x64 回
  • nodejs net 模块中的“connect”事件何时发出?

    我有这个简单的 TCP 服务器 var net require net var server net createServer function socket socket on connect function console log N
  • 如何导航回到 Blackberry 中的上一个屏幕?

    在黑莓中 我可以从一个屏幕导航到下一个屏幕 但无法导航回上一个屏幕 在模拟器中按退出键将终止整个应用程序 模拟器中是否有其他键可以转到上一个屏幕或有任何代码可以返回 如果你知道请帮助我 正如安德烈所说 有一个显示堆栈 所以如果你推入屏幕而不