我在我的onCreate()方法中添加了这部分代码,并且它崩溃了我的应用程序.
需要帮忙.
需要帮忙.
logcat的:
android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
码:
final TextView timerdisplayPanel = (TextView) findViewById(R.id.textView2);
Timer t = new Timer();
t.schedule(new TimerTask(){
public void run(){
timerInt++;
Log.d("timer","timer");
timerdisplayPanel.setText("Time ="+ timerInt +"Sec");
}
},10,1000);
解决方法
Only the original thread that created a view hierarchy can touch its views.
您正在尝试更改非UI线程中UI元素的文本,因此它将异常.使用runOnUiThread
t.schedule(new TimerTask() {
public void run() {
timerInt++;
Log.d("timer","timer");
runOnUiThread(new Runnable() {
@Override
public void run() {
timerdisplayPanel.setText("Time =" + timerInt + "Sec");
}
});
}
},1000);