我在我的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);