【发布时间】:2015-01-12 10:06:41
【问题描述】:
我有一个导航抽屉,当其中一个项目被选中时,它会启动另一个活动。如果该活动是当前活动,我不想启动相同的活动(如果用户选择一个选项,则会启动一个新活动,并且他们再次从菜单中选择相同的选项)。我怎样才能知道当前的活动是什么,所以我不会重新开始相同的活动(而是简单地关闭抽屉)?
【问题讨论】:
标签: android android-intent android-activity navigation-drawer
我有一个导航抽屉,当其中一个项目被选中时,它会启动另一个活动。如果该活动是当前活动,我不想启动相同的活动(如果用户选择一个选项,则会启动一个新活动,并且他们再次从菜单中选择相同的选项)。我怎样才能知道当前的活动是什么,所以我不会重新开始相同的活动(而是简单地关闭抽屉)?
【问题讨论】:
标签: android android-intent android-activity navigation-drawer
如果您像在网站中使用页面一样使用活动,那么您需要自己管理一个“ID”。在构建菜单(活动列表)时检查的每个活动上的常量可能就足够了。
最好不要以这种方式使用活动,因为启动活动很慢,因此不适合在菜单中的项目之间滑动。我建议使用片段。片段使管理状态更容易,加载速度更快。
【讨论】:
如果我理解正确,如果用户在活动 A 中并单击活动 B,则应呈现 B。但是用户在 A 中并单击 A,什么都不会发生。
您可以通过为每个活动设置一个 ID 并相应地呈现来实现此目的。但是如何将 Manifest.xml 文件中的活动设置为单实例。
<activity
android:name=".YourActivity"
android:launchMode="singleInstance"/>
你取得了什么成就?
如果没有活动,操作系统会自动创建一个新活动,或者将当前存在的活动放在前面(感谢 singleInstance 属性)。
看看这是否适合你。
【讨论】: