複数のクリック可能なビューを持つアクティビティがあります。それらのいずれかをクリックすると、同じアクティビティ クラスの新しいインスタンスが新しい引数で呼び出されます。
Intent i = new Intent(this, SameActivity.class);
// put extras
startActivity(i);
これは onClick メソッドで行われます。問題は、任意のビューをすばやくダブルクリックすると、新しいアクティビティが開かれていることがわかり、(新しく作成されたアクティビティで) ビューの 1 つをもう一度クリックしたように動作することです。そして、再びナビゲートします。
ログは次のようになります。
onCreate()
onStart()
onResume()
onClick()
onPause()
onCreate()
onStart()
onResume()
onClick()
onCreate()
onStart()
onResume()
onStop()
onStop()
なぜ、どのように回避するのですか?
編集: setEnabled(false) を使用してみましたが、効果はありませんでした。
さらに、私のさらなるテストでは、新しく作成されたビューによって onClick が実際にトリガーされることが示されました。デバイスのせいでしょうか?応答が遅すぎるか、それとも?