在android中实现主菜单链接
我正在开发一个多语言的Android应用程序。在这里,我使用古吉拉特语和印地语等地区语言的字体。现在我想在每个页面上添加一个主菜单链接,主菜单页面除外。我了解到,FLAG_ACTIVITY_CLEAR_TOP用于清除活动堆栈,这样主活动就不会位于顶部 但当我这样做时,它会再次启动主菜单活动,重置用户所做的语言选择。 因此,语言被重置为默认值(本例中为英语) 我希望主菜单上的活动应该放在最前面,只需在主菜单上取消其他活动即可 我使用以下代码进行导航:在android中实现主菜单链接,android,menu,android-activity,Android,Menu,Android Activity,我正在开发一个多语言的Android应用程序。在这里,我使用古吉拉特语和印地语等地区语言的字体。现在我想在每个页面上添加一个主菜单链接,主菜单页面除外。我了解到,FLAG_ACTIVITY_CLEAR_TOP用于清除活动堆栈,这样主活动就不会位于顶部 但当我这样做时,它会再次启动主菜单活动,重置用户所做的语言选择。 因此,语言被重置为默认值(本例中为英语) 我希望主菜单上的活动应该放在最前面,只需在主菜单上取消其他活动即可 我使用以下代码进行导航: Intent i=new Intent(thi
Intent i=new Intent(this,MainActivity1.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
finish();
任何帮助都是值得的。为什么不将当前选定的语言保存在
SharedReference
文件中,并在主活动开始时检查它?或者,您可以对清单中的活动使用android:noHistory=“true”
属性,或者使用Intent标志flag\u ACTIVITY\u NO\u HISTORY
,只需调用finish()
,而不是启动另一个Intent,打开main activity1
时,您将使用标志\u ACTIVITY\u CLEAR\u TOP来清除它。我不相信问题出在CLEAR\u TOP
标志上。但是如果我错了,有人可以纠正我。在前面的评论中使用替代方法的缺点是,android:noHistory=“true”的活动永远不会出现在活动堆栈中。SharedReference是否以持久化方式存储用户选择?我的意思是,如果用户关闭应用程序并重新启动它,那么它将显示其最后的选择?是的。SharedReference是持久存储的。无论应用程序启动/重新启动多少次,或设备关闭/重新启动多少次。它们总是保存在/data/data/YOU\u PACKAGE\u NAME/shared\u prefs
文件夹中。这太有用了。在悉达尔勒有很多。。