ユーザーがボタンをすばやくタップすると、showDialog()メソッドが複数回重ねて表示されるため、閉じると、その後ろに別のものが表示されます。ハンドラーを使用せずに1秒間2回目のタップを無視する方法、または前回のタップの時間を確認する方法を探しています。
//Button that opens a dialog
button.setOnClickListener {
showDialog()
}
KotlinコルーチンまたはKotlinフローを将来の実装に使用するソリューションを探しています。
私は正直にお勧めします corbind
この素晴らしいライブラリを使用すると、setOnClickListener
を忘れて、次のようなフローを処理できます。
binding.myButton.clicks() .debounce(500) .onEach { doSomethingImportant() } .launchIn(viewLifecycleOwner.lifecycleScope)
使い方は本当に簡単で、ビューバインディングを使用すると、アプリを非常に簡単に作成できます。コーディングがお役に立てば幸いです。