Record()
이라는 로컬 함수 중 하나에서 while 루프를 실행하는 프로그램을 개발 중입니다. X라는 버튼을 누르면 가변 조건이 참이되고 기록 함수가 실행됩니다. 다른 버튼 Y를 눌렀을 때 상황이 바뀌면 루프가 멈추고 싶습니다. 문제는 while 루프가 시작될 때 버튼 Y를 클릭하지 않는 경우입니다. 어떻게해야합니까? while 루프는 조건을 다른 함수로 변경하여 중지합니다. 샘플 코드는 다음과 같다 :실행 중 루프 식을 변경하는 방법
// clicking Button Y
private View.OnClickListener XonClickListener = new View.OnClickListener() {
@Override
public void onClick(View arg0) {
condition = true;
record();
}
}
// clicking Button Y
private View.OnClickListener YonClickListener = new View.OnClickListener() {
@Override
public void onClick(View arg0) {
condition = false;
}
}
// Record function
private void Record(){
while (condition){
// do something
}
}
* 실제 코드가 없으면 무엇이 잘못되었는지를 정확하게 말하기 어렵습니다 (버그가 무엇인지 모르기 때문에 문제의 원인이되는 비트를 제외했을 수 있습니다). 그러나 처음에는'condition'이'volatile'으로 선언되지 않는다고 추측합니다. – chrylis
어떻게 Record 메서드에 액세스합니까? – Nfear