我遇到了许多人可能感兴趣的问题(初学者)。我来告诉你代码:
startButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startButton.setVisibility(View.GONE);
if (!started) {
started = true;
timer.start();
information.append("Start 1\n");
tester1.start();
if (cores >= 2) {
information.append("Start 2\n");
tester2.start();
}
if (cores >= 3) {
information.append("Start 3\n");
tester3.start();
}
if (cores >= 4) {
information.append("Start 4\n");
tester4.start();
}
}
}
});
计时器,所有测试人员都是先前声明的线程。 信息是TextView。
问题在于,当我运行应用程序时,即使线程需要10秒钟完成,文本视图也会在线程完成后发生更改。这确实发生在模拟器(android 2.3)和真实(android 4.0)设备上。奇怪的是,线程确实在大致相同的时间开始。
答案 0 :(得分:0)
您必须从主线程更新任何UI组件。
例如
runOnUiThread(new Runnable() {
public void run() {
someTextView.setText(someResultVariable);
}
});