我的应用程序的基本导航是一个活动中的标签栏,其中每个标签都是自己的片段。我试图让后退按钮工作,回到它上面的最后一个标签。如果活动通过在活动的java类中使用此活动进入第一个选项卡,我可以让后退按钮工作/显示:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
</div>
这在AndroidManifest.xml中:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
这样可以正常工作,但是当我从其他选项卡中的按钮转到新活动时,如果我使用相同的方法,它会转到tab1。如何告诉它转到特定选项卡或最后一个活动片段? 任何建议都会有所帮助!
答案 0 :(得分:0)
当您启动新活动时,旧活动会暂停或停止,例如已调用OnPause()
或OnStop()
方法。然后,当您导航回上一个活动时,它将启动(OnStart()
)或resuemd(OnResume()
)。有时,当使用OnDestroy()
和OnCreate()
导航回活动时,活动会被销毁并再次创建。
我能想到的最有保证的方法是将第一个活动的状态持久存储在某个地方,当用户导航回它时,检查已存储的内容并显示该片段。
您可以使用SharedPreferences
存储此类数据see the google developer documentation on that here。或者onSaveInstanceState(Bundle savedInstanceState)
check out this SO question on saving activity state.虽然从答案中可以清楚地看出onSaveInstanceState
不适用于您的具体情况,但您应该以任何方式查看它,因为它在其他情况下非常有用,例如更换屏幕例如。