我是Java新手,遇到问题。我已经从Android的教程中复制了一些代码,现在我想将一个整型变量传递给run()方法,所以我可以为每个循环增加它,然后在后台Thread之外捕获它。我会怎么做?将变量传递给方法(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
你是什么意思'捕捉'变量?顺便说一句,我相信应该在UI线程上调用pBarDialog.dismiss(),即在Handler中。 – Ash 2012-01-13 08:00:35
通过捕捉我的意思是打印出来。 – ItsGreg 2012-01-13 08:02:59
任何你想传递给内部类的东西都可以通过使用“final”来完成(但是如果你想修改它,那么你必须将变量的值复制到另一个) – njzk2 2012-01-13 09:14:57