在我的活动类中,我想执行一系列需要大约5秒才能完成的长计算,当我按下按钮时。所以为了做到这一点,我创建了一个新的类,它在run方法中执行所有的计算(因为它实现了Runnable),并且在完成时我将一个变量设置为true来表示这一点。在检查按钮是否按下的代码中,我开始一个新的线程传递我的类,然后检查run方法是否完成。如果它完成我然后打印数据。这个问题是,当我检查计算是否完成时,他们实际上并没有这么做,所以它传递了这行代码并且从不打印数据。我试图做异步类的方法,但我仍然认为它不会工作。有没有办法创建线程时,我按下按钮,并继续检查是否已完成,所以我可以打印数据?活动中的哪一段代码实际上一遍又一遍地被执行?感谢您的任何信息。Android活动处理多线程
if(v.equals(this.button)) {
EditText param1 = (EditText)findViewById(R.id.param1);
EditText param2 = (EditText)findViewById(R.id.param2);
calculations = new MathCalc(param1.getText().toString(), param2.getText().toString());
new Thread(calculations).start();
while(!calculations.isReady());
Intent intent = new Intent(this,Show.class);
intent.putExtra("show1", calculations.getResult());
startActivity(intent);
}
这是我想要实现的。
谢谢..我已经设法使用上面的代码。 –