Android 为什么';nt调用Finish()是否立即关闭我的活动?

Android 为什么';nt调用Finish()是否立即关闭我的活动?,android,android-activity,Android,Android Activity,这是我的设想 活动1启动-我的启动屏幕显示 用户单击“登录”按钮 登录活动运行-登录屏幕显示 用户输入用户id和密码,单击提交按钮 如果userid和Passwod有效,则执行StartActivity to FeaturesMenu活动,获得步骤7 用户ID和密码无效,在登录屏幕的视图中的文本视图中设置消息,输入更正并单击提交按钮或单击取消按钮,然后调用Finish() 功能菜单活动运行并显示供用户单击的按钮列表 用户单击按钮列出SQLite DB的血压读数,光标 已运行血压列表活动的Star

这是我的设想

  • 活动1启动-我的启动屏幕显示
  • 用户单击“登录”按钮
  • 登录活动运行-登录屏幕显示
  • 用户输入用户id和密码,单击提交按钮
  • 如果userid和Passwod有效,则执行StartActivity to FeaturesMenu活动,获得步骤7
  • 用户ID和密码无效,在登录屏幕的视图中的文本视图中设置消息,输入更正并单击提交按钮或单击取消按钮,然后调用Finish()
  • 功能菜单活动运行并显示供用户单击的按钮列表
  • 用户单击按钮列出SQLite DB的血压读数,光标
  • 已运行血压列表活动的StartActivity
  • 然后将光标绑定到customCrusor适配器和listview
  • 与血压列表活动相关联的屏幕显示一个行列表,每天每个读数条目显示一行。如果没有返回到光标的数据,则显示空白屏幕。在这两种情况下,屏幕底部都会显示一个标记为“完成”的按钮
  • 当用户单击完成按钮时,血压列表活动屏幕应消失,功能菜单屏幕应返回。这就是用户现在可以选择其他功能的原因。顺便说一句,Done按钮除了callfinish()之外什么也不做。实际上,血压列表活动屏幕会闪烁并保持显示状态。当我再次单击“完成”时,它最终消失,并显示“功能”菜单
    有什么好处?为什么叫我马上结束的电话不能让我回到功能菜单。为什么我需要单击两次“完成”按钮?

    您必须有两个“血压列表”活动实例。

    听起来您启动了两个“列表”活动实例,我猜您在步骤8-9或步骤11中做了一些奇怪的事情。但是你必须为我们发布一些代码才能真正帮助你。

    我会阅读这些代码,但是这是我的,谢谢你的回复。我已经找到了解决办法。我将属性NoHistory=true添加到那些将要执行StartActivity(例如typeof(AuthUser))的活动中。然后,在本例中,当AuthUser活动例如找到授权用户时,它将执行StartActivity(typeof(FeaturesMenu)。注意:我还保存了需要在首选项中的其他StartActivity中引用的任何数据。