恢复后有时会在 Nativescript-Vue 上显示主屏幕
Posted
技术标签:
【中文标题】恢复后有时会在 Nativescript-Vue 上显示主屏幕【英文标题】:After resume sometimes show the Home Screen on Nativescript-Vue 【发布时间】:2019-07-15 19:51:26 【问题描述】:我的应用程序和他的导航有问题。
我的应用有四个屏幕,但有时当点击第二个屏幕(或任何其他屏幕)中的 android 主页按钮并在恢复应用后,这会显示主屏幕而不是最后一个屏幕,有什么想法可以解决这个问题吗?
更新: 有时在恢复应用程序后,这会显示正确的屏幕(最后显示)但我不知道这是怎么发生的(它是相同的源代码),我在许多版本的 android 模拟器(4.4、5.0、7.0 和 8.0 )。这可能是一个错误吗?
屏幕录制: https://i.imgur.com/VhWFhWU.gifv
代码: https://play.nativescript.org/?template=play-vue&id=wKkYCe&v=2
谢谢
【问题讨论】:
【参考方案1】:如果您在应用程序中使用单帧,这应该很容易。您可以监听活动的恢复事件并调用 $navigateBack
并引用返回堆栈中的第一项。
if (application.android)
application.android.on(application.AndroidApplication.activityResumedEvent,
() =>
const backStack = frame.topmost().backStack[0];
if (backStack)
setTimeout(() =>
this.$navigateBack(, backStack);
, 0);
, this);
Playground Sample
【讨论】:
谢谢,这很奇怪,因为有时使用相同的代码可以正常工作。 抱歉,我没抓住重点。什么似乎是有线的,它有时会坏吗?这就是你的意思? 如果没有您的代码,有时当应用程序恢复显示正确的屏幕但很难重现时。如果我在恢复正确屏幕时使用您的代码,此代码会改变屏幕吗? 是的,我想这就是您所要求的。您的问题是,恢复后始终显示主屏幕。当您恢复到您的应用程序时,上面的代码会返回到您的第一个组件。如果这不是您所期望的,请更新您的问题并提供更多详细信息。 其实我以为你在要求类似的东西,当你恢复时导航到主屏幕。但看起来这是你的问题,我不确定这是怎么发生的。我也没有在同一个 Playground 上复制它。我能想到的唯一可能的原因是,要么你有一些正在运行的清理应用程序,它一旦进入后台就会杀死你的应用程序,或者有一个设置你的开发人员选项来销毁活动,可能是启用了。以上是关于恢复后有时会在 Nativescript-Vue 上显示主屏幕的主要内容,如果未能解决你的问题,请参考以下文章
点击按钮后如何将ListView向下滚动到底部(例如使用scrollToIndex)? NativeScript-Vue