【发布时间】:2012-02-09 11:22:00
【问题描述】:
我是 Java 新手,但遇到了问题。我已经从 Android 教程中复制了一些代码,现在我想将一个整数变量传递给方法 run(),这样我就可以为每个循环递增它,然后在后台线程之外捕获它。我该怎么做?
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
【问题讨论】:
-
“捕获”变量是什么意思?顺便说一句,我认为 pBarDialog.dismiss() 应该在 UI 线程上调用,即在 Handler 中。
-
捕捉我的意思是打印出来。
-
任何你想传递给内部类的东西都可以使用“final”来完成(但是如果你想修改它,你必须将变量的值复制到另一个)
标签: java android variables methods