其中计时器是一个textview并在运行时抛出错误,UI出来说不幸已经停止了。下面有附加错误的链接.Plz帮助不理解我哪里出错了
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.level_twolayout);
Thread t1 = new Thread(new Runnable() {
public void run() {
for (int i = 0; i < 10; i++) {
try {
Thread.sleep(1000);
} catch (Exception e) {
}
Timer.setText("Hello");
}
}
});
t1.start();
}
答案 0 :(得分:0)
您必须从主线程更新UI。
使用此代码。代替Timer.setText(&#34; Hello&#34;);
// verify we are indeed updating UI on main thread.
runOnUiThread(new Runnable() {
@Override
public void run() {
// go ahead and update UI
Timer.setText("Hello");
}
});
runOnUiThread是一个Activity方法。请参阅http://developer.android.com/reference/android/app/Activity.html#runOnUiThread%28java.lang.Runnable%29。
你需要调用MyActivityName.this.runOnUiThread()或者更简单地调用runOnUiThread()作为&#34;这个&#34;将指向您正在创建的Runnable的范围,而不是您的Activity。
最后,&#34;计时器&#34;可能不是TextView的最佳名称。