2013-03-26 61 views
0

我在我的第一个活动中有按钮,名为Start。维护一个活动的单个实例

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

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

回答

1

您的选择:

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

我建议第一,因为它可以向用户显示应用程序仍在工作,即使它需要几秒钟做,开始您的Activity必要的处理。

1

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

1

请勿使用任何东西,如launchModeIntent flags。它们被用于不同的目的。

说明here

你所要做的是:

  1. 显示进度对话框,以清楚地表明,一个 动作(调用第二活动)是正在进行的用户。这是用户不会 尝试多次点击按钮
  2. 只需在第一次点击后禁用按钮的点击侦听器。建议不要使用 ,因为用户可能无法知道他/她 是否单击了该按钮。当用户倾向于多次点击按钮 时也是如此。
相关问题