【问题标题】:Maintain Single instance of an activity维护活动的单个实例
【发布时间】:2013-03-26 06:15:04
【问题描述】:

我的第一个活动中有一个名为“开始”的按钮。

现在,当我单击此按钮时,加载下一个活动需要 1 到 2 秒,现在用户多次单击开始按钮,所以会发生下一个活动将打开多次。

如何克服这个问题?有没有什么办法即使用户多次点击开始按钮也只打开一次活动。

【问题讨论】:

    标签: android button android-activity


    【解决方案1】:

    您的选择:

    • 单击时,禁用按钮并向用户显示ProgressDialog
    • 使用Intent 标志FLAG_ACTIVITY_SINGLE_TOP 确保堆栈上只维护一个活动。 Documentation
    • AndroidManifest.xml 中使用限定符launchMode=singleInstance,因此一次只允许Activity 的一个实例。 Documentation

    我会推荐第一个,因为它可以向用户显示您的应用程序仍在运行,即使需要几秒钟来进行必要的处理以开始您的Activity

    【讨论】:

      【解决方案2】:

      您可以在清单文件中将第二个活动的启动模式设置为“单实例”。

      【讨论】:

        【解决方案3】:

        不要使用launchModeIntent flags 之类的东西。它们用于不同的目的。

        描述here

        你要做的是:

        1. 显示一个进度对话框以清楚地向用户显示 动作(调用第二个活动)正在进行中。这是用户不会 尝试多次点击按钮
        2. 在第一次单击后禁用按钮的单击侦听器。这不是 推荐,因为用户可能无法知道他/她是否 点击按钮。这也是用户倾向于点击的情况 多次按下按钮。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-05-22
          • 2013-03-22
          • 2011-10-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-02-20
          • 1970-01-01
          相关资源
          最近更新 更多