我在遇到困境時遇到了崩潰。我以下列方式運行的線程:如果我嘗試設置TextView
的價值在我的XML發生在android中的線程內設置TextView值
Thread t = new Thread(){
public void run() {
text.setText("hello");
}
};
t.start;
崩潰,(參考文本已可用)。
我在做一些根本性的錯誤嗎?請指出哪裏會出錯。
我在遇到困境時遇到了崩潰。我以下列方式運行的線程:如果我嘗試設置TextView
的價值在我的XML發生在android中的線程內設置TextView值
Thread t = new Thread(){
public void run() {
text.setText("hello");
}
};
t.start;
崩潰,(參考文本已可用)。
我在做一些根本性的錯誤嗎?請指出哪裏會出錯。
您應該只在UI線程上訪問android ui toolkit小部件。閱讀http://developer.android.com/resources/articles/painless-threading.html。
您只能從UI線程訪問用戶界面組件。
Android有幾件事情可以使這個簡單,如方法runOnUiThread和類AsyncTask。
有關更多閱讀,請參閱Android文檔中的Painless Threading和Processes and Threads。
使用Handler類,檢查是否有更多的相關方法
Handler mHandler;
mHandler=new Handler(){
hdandleMessage(Message what){
text.setText("hello");
}
};
Thread t = new Thread(){
public void run()
{
mHandler.sendEmptyMessage(int what)
}
};
t.start;