Другим методом будет использование таймеров для запуска нажатия кнопки каждые x
секунд.Однако в этом ответе я буду придерживаться метода, который вы используете.Ваш обработчик кажется неправильным, попробуйте что-то вроде этого:
Замените ваш обработчик на:
private Handler handler = new Handler();
private Runnable runnable = new Runnable() {
@Override
public void run() {
Consulta.performClick();
handler.postDelayed(this, 1000);
}
};
И запустите его с помощью: (где 1000 - время (в миллисекундах) между каждымвыполнение)
handler.postDelayed(runnable, 1000);
ОБНОВЛЕНИЕ:
Вы также запросили, что событие вызывается при изменении текста внутри текстового поля.Для этого вам нужно создать новый прослушиватель событий (убедитесь, что вы заменили field1
фактической ссылкой на текстовое поле):
field1.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start,
int before, int count) {
/* Add the Handler Call here */
handler.postDelayed(runnable, 1000);
}
});