Как предотвратить двойной запуск кода, дважды быстро нажав на кнопку в Android
Если я быстро нажимаю на кнопку в моем приложении для Android, кажется, что код позади него выполняется дважды. Если я дважды щелкаю по кнопке меню, действие, которое должно быть запущено, просто запускается дважды, и мне приходится дважды выходить из него.
Это действительно раздражает, потому что, если я нажимаю слишком быстро для кнопок меню, я могу загрузить целую кучу действий в фоновом режиме, и я должен завершить их одно за другим, так что это явно ошибочное состояние моего приложения, я хочу это исправить.
Что я могу сделать с этим вопросом?
Я использую простые onClickListeners и кнопки
РЕДАКТИРОВАТЬ:
Что касается ответов и комментариев, то кнопки моего меню выглядят так:
top20Button.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
favButton.setClickable(false);
nearButton.setClickable(false);
highlightedButton.setClickable(false);
top20Button.setClickable(false);
Intent i = new Intent();
i.putExtra("showDialog", false);
i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
i.setClass(Search.this, Top20.class);
startActivity(i);
finish();
}
});
После всего этого исправления все то же самое: S Когда я щелкаю как сумасшедший, в стеке истории появляется несколько активностей, и я должен выйти несколько раз.
Какие-либо предложения ? Что я делаю не так?