Я хочу добавить кнопку в мое приложение в Android и зафиксировать событие на этой кнопке (onclick) через пару секунд, нажав кнопку, так что она не реагирует на первое касание , Можно ли это сделать на Android?Захват события на Android через несколько секунд
Прямо сейчас у меня есть следующий код, который фиксирует onclick на домашней кнопке (в ActionBar).
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
showSendLogAlert();
}
return super.onOptionsItemSelected(item);
}
Когда пользователь нажимает на эту кнопку, он посылает маленький отчет по электронной почте, и я не хочу, чтобы запустить это событие случайно, именно поэтому я хочу, чтобы пользователь нажать пару секунд для того, чтобы убедитесь, что он хочет сделать эту операцию.
Решение:
На основе комментариев ниже я получил этот рабочий раствор:
@Override
protected void onCreate(final Bundle savedInstanceState) {
// stuff
// Set the home button clickable
getActionBar().setHomeButtonEnabled(true);
// Define a long click listener instead of normal one
View homeButton = findViewById(android.R.id.home);
homeButton.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
showSendLogAlert();
return false;
}
});
// more stuff
}
у вас спрашивают о longclick() прослушиватель – CoolMonster
@CoolMonster Я не мог найти имя этого конкретного события, спасибо! это именно то, что я имел в виду. – maqjav
просто упоминайте, что есть прослушиватель longclikc, но не точное имя слушателя – CoolMonster