Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blackberry 黑莓有可能有多个屏幕吗?_Blackberry - Fatal编程技术网

Blackberry 黑莓有可能有多个屏幕吗?

Blackberry 黑莓有可能有多个屏幕吗?,blackberry,Blackberry,我正在尝试在我的应用程序中实现一个选项卡式的导航系统(类似于iOS UtiAbbarController)。我试图创建的功能是,每个选项卡都有自己的屏幕堆栈,因此,如果一个选项卡切换到另一个堆栈,用户可以独立于其他选项卡来回导航,同时在屏幕的顶部或底部显示单个选项卡栏 我在Dropbox等应用程序中见过这种功能,但我不确定是否可能有多个堆栈,或者这种行为仅仅是对单个堆栈的巧妙管理 任何想法都将不胜感激。不,只有一个屏幕堆栈,RIM操作系统不支持多个屏幕堆栈 您应该遵循一些规则来处理这个堆栈。例如

我正在尝试在我的应用程序中实现一个选项卡式的导航系统(类似于iOS UtiAbbarController)。我试图创建的功能是,每个选项卡都有自己的屏幕堆栈,因此,如果一个选项卡切换到另一个堆栈,用户可以独立于其他选项卡来回导航,同时在屏幕的顶部或底部显示单个选项卡栏

我在Dropbox等应用程序中见过这种功能,但我不确定是否可能有多个堆栈,或者这种行为仅仅是对单个堆栈的巧妙管理


任何想法都将不胜感激。

不,只有一个屏幕堆栈,RIM操作系统不支持多个屏幕堆栈

您应该遵循一些规则来处理这个堆栈。例如,要显示上一个屏幕,您需要弹出(关闭)最上面的一个屏幕

如果您不弹出屏幕,而是创建越来越多的新屏幕,而不关闭旧屏幕,那么您将获得OutOfMemoryException

你需要重新设计你的应用程序,使用定制的管理器类实例,并组成你自己的界面来实现你需要的外观


编辑:您可以拥有任意多个屏幕对象的内存列表,或者直到它们适合设备内存。但是RIM操作系统只允许一个可见屏幕堆栈。

当然,您可以维护自己的屏幕堆栈,只需将当前屏幕保留在操作系统堆栈中,即可实现您的导航目标。没有必要局限于操作系统自然维护的单个堆栈。@paulkayuk,你说的SDK是什么意思?RIM OS SDK不允许有多个屏幕堆栈。@Rafael Osipov,RIM OS SDK维护自己的单个屏幕堆栈,正如我上面所说的,但没有任何东西可以阻止您定义自己的屏幕对象堆栈或任何其他堆栈,并自己管理这些堆栈。@paulkayuk,您的建议对于管理大型应用程序非常有用。@Rafael,正如我在第一条评论中指出的