저는 Java를 처음 사용하는데 문제가 있습니다. 안드로이드에 대한 튜토리얼에서 코드를 복사했는데 이제 run() 메서드에 정수 변수를 전달하려고합니다. 그래서 각 루프에 대해 증가시킨 다음 백그라운드 스레드 외부로 가져올 수 있습니다. 내가 어떻게 그럴 수 있니?메소드에 변수 전달 (Java)
int gg= 0;
Thread background = new Thread(new Runnable() {
public void run() {
try {
while (pBarDialog.getProgress() <= 100) {
Thread.sleep(100);
gg++; // the increment here
progressHandler.sendMessage(progressHandler
.obtainMessage());
}
if (pBarDialog.getProgress() == 100) {
pBarDialog.dismiss();
}
} catch (java.lang.InterruptedException e) {
// if something fails do something smart
}
}
});
//catch gg here
변수를 '잡는'것은 무엇을 의미합니까? Btw, 나는 pBarDialog.dismiss() UI 스레드, 즉 처리기에서 호출해야한다고 생각합니다. – Ash
나는 그것을 인쇄한다는 의미입니다. – ItsGreg
내부 클래스에 전달하고자하는 것은 "final"을 사용하여 수행 할 수 있습니다 (그러나 수정하려는 경우 변수의 값을 다른 변수로 복사해야합니다) – njzk2