#android #button #boolean #handler #runnable
#Android #кнопка #логическое #обработчик #выполняемый
Вопрос:
Я пытаюсь создать приложение для секундомера, которое при нажатии кнопки «Пуск» запускается, а при нажатии кнопки «Стоп» останавливается. Я использую обработчик и могу выполняться с задержкой отправки, но я хочу, чтобы он отправлял сообщение только в том случае, если кнопка остановки не была нажата. Именно так я говорю о реализации того, о чем я говорю.
if(!StopBClicked()){
handler.postDelayed(r, 1000);
}
Это то, что у меня есть до сих пор, чтобы сделать это логической вещью.
public boolean StopBClicked() {
Button StopB = (Button)findViewById(R.id.StopB);
StopB.setOnClickListener(new View.OnClickListener(){
return true;
}
}
Но, как вы можете догадаться, это не работает. Это выдает мне ошибку в «)» после OnClickListener(. Я немного новичок, поэтому был бы признателен за пример кода. Спасибо.
Комментарии:
1. Вы этого не делаете. Действительно. Это имеет смысл — что бы получить значение?
Ответ №1:
Просто запустите действие при нажатии кнопки.
Добавьте это в свой onCreate
:
Button StopB = (Button)findViewById(R.id.StopB);
StopB.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
handler.postDelayed(r, 1000);
}
}
Комментарии:
1. 1 Пользовательский интерфейс Android — это программирование, управляемое событиями .
Ответ №2:
Я не занимался разработкой Android, но я бы предположил, что это синтаксическая ошибка. Предполагая, что это не ошибка копирования, допущенная редактором StackOverflow, вставляющим некоторый код, не должно ли это быть:
private boolean StopBClicked() {
Button StopB = (Button)findViewById(R.id.StopB);
StopB.setOnClickListener(new View.OnClickListener(){
return true;
});
}
Комментарии:
1. Ну, это выдает ошибку, говорящую об этом представлении. Функция OnClickListener() не реализована. Обычно это реализуется с помощью public void onClick(){}