0

我的第一个活动中有按钮,称为开始。

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

如何克服这一点?即使用户多次单击“开始”按钮,是否有任何方法只打开一次活动。

4

3 回答 3

1

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

于 2013-03-26T06:17:24.650 回答
1

您的选择:

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

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

于 2013-03-26T06:19:08.687 回答
1

不要使用类似 alaunchModeIntent flags. 它们用于不同的目的。

说明在这里

你要做的是:

  1. 显示进度对话框以清楚地向用户显示正在进行的操作(调用 2nd Activity)。这是用户不会尝试多次单击该按钮
  2. 只需在第一次单击后禁用按钮的单击侦听器。不建议这样做,因为用户可能无法知道他/她是否单击了按钮。这也是用户倾向于多次单击按钮的情况。
于 2013-03-26T06:29:21.847 回答