0

最初のアクティビティに[開始]というボタンがあります。

このボタンをクリックすると、次のアクティビティを読み込むのに1〜2秒かかります。その時点で、ユーザーはスタートボタンを複数回クリックするため、次のアクティビティが複数回開きます。

これを克服する方法は?ユーザーが[スタート]ボタンを複数回クリックしても、アクティビティを1回だけ開く方法はありますか。

4

3 に答える 3

1

2番目のアクティビティの起動モードを「シングルインスタンス」としてマニフェストファイルに入れることができます。

于 2013-03-26T06:17:24.650 に答える
1

あなたのオプション:

  • クリックしたら、ボタンを無効にProgressDialogして、ユーザーにを表示します。
  • Intentフラグを使用FLAG_ACTIVITY_SINGLE_TOPして、スタック上で1つのアクティビティのみが維持されるようにします。ドキュメンテーション
  • でqualiferを使用して、一度launchMode=singleInstanceAndroidManifest.xml1つのインスタンスのみActivityが許可されるようにします。ドキュメンテーション

最初の方法をお勧めします。これは、を開始するために必要な処理を実行するのに数秒かかる場合でも、アプリケーションがまだ機能していることをユーザーに示すことができるためですActivity

于 2013-03-26T06:19:08.687 に答える
1

launchModeまたはのようなものは使用しないでくださいIntent flags。それらはさまざまな目的で使用されます。

ここでの説明

あなたがしなければならないことは:

  1. 進行状況ダイアログを表示して、アクション(2番目のアクティビティを呼び出す)が進行中であることをユーザーに明確に示します。これは、ユーザーがボタンを複数回クリックしようとしないことでした
  2. 最初のクリック後にボタンのクリックリスナーを無効にするだけです。ユーザーがボタンをクリックしたかどうかがわからない可能性があるため、これはお勧めしません。また、これはユーザーがボタンを複数回クリックする傾向がある場合です。
于 2013-03-26T06:29:21.847 に答える