为什么不立即调用Finish()关闭我的活动?

时间:2012-09-17 22:28:44

标签: android android-activity

所以这是我的情景。

  1. Activity1启动 - 我的启动画面显示
  2. 用户点击“登录按钮”
  3. SignOn活动运行 - 登录屏幕显示
  4. 用户输入用户ID和密码,点击提交按钮
  5. 如果userid和Passwod有效执行StartActivity到FeaturesMenu活动,则得到步骤7
  6. 用户ID和密码无效,在SignOn屏幕中的textview中设置消息,输入更正并单击提交按钮或单击取消按钮并调用Finish()。
  7. FeatureMenu活动会运行并显示供用户点击的按钮列表。
  8. 用户点击按钮列出来自SQLite DB,光标的血压读数。
  9. 运行BloodPressList活动的StartAcitvity。
  10. 然后将光标绑定到customCrusor适配器和listview
  11. 与BloodPressure列表活动相关联的屏幕显示每天每个阅读条目的行列表。如果没有数据返回光标,则为空白屏幕。在任何一种情况下,屏幕底部都会显示标记为“完成”的按钮。
  12. 当用户点击完成按钮时,血压列表活动屏幕应该消失,并且功能菜单屏幕应该返回。这样用户现在可以选择其他功能。顺便说一句,完成按钮除了调用Finish()之外什么都不做。实际发生的是血压列表活动屏幕闪烁并保持显示。当我再次点击完成后,它最终消失并且功能菜单显示。
  13. 是什么给出的?为什么不立即调用Finish会将我带回功能菜单。为什么我需要单击“完成”按钮两次?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

听起来你正在启动ListActivity的两个实例,我的猜测是你在步骤8-9或步骤11中做了一些奇怪的事情。但是你必须发布一些代码给我们真正的帮助你。