我有一個TextView佈局,說mainTextView。從Android中的線程更新視圖
我的活動文件看起來像:
public class SecondActivity extends AppCompatActivity {
private static Integer i = 0;
private TextView tv = null;
@override
public void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
tv = (TextView) findViewById(R.id.mainTextView);
new MyThread().execute();
}
private void notifyAChange() {
tv.setText(i.toString());
}
private class MyThread extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground (String... params) {
while (true) {
try {
i++;
Thread.sleep(1000);
notifyAChange();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
這會返回一個致命異常上運行。我知道我不能觸摸另一個線程的視圖,除了原始視圖之外,但在這種情況下,我正在觸摸主線程的視圖,所以出了什麼問題?
請始終提供完整的異常和堆棧跟蹤有關的詳細信息! –