1.新增handler物件
public handler handler = new handler() }};
2.建立程序,程序中傳送message訊息給handler
new thread(new runnable() catch (interruptedexception e)
message = message.obtain();
message.what = 2;
handler.sendmessage(message);
}}).start();
用message message = message.obtain();來獲取訊息物件。
若訊息物件已被使用,則需要再次獲取,直接使用會報錯。
botaoin()方法
執行緒非同步更新UI
winform程式一般是不允許非主線程操作ui,單可以通過執行緒與委託的方式並結合control類提供的begininvoke機制進行ui更改 如下,這是更新ui的方法 private void upuimethod 1 建立委託 private delegate void delegateupui...
子執行緒更新UI
一般在winform c s程式中經常會在子執行緒中更新控制項的情況,桌面程式ui執行緒是主線程,當試圖從子執行緒直接修改控制項屬性時會出現 從不是建立控制項的執行緒訪問它 的異常提示。跨執行緒更新ui控制項的常用方法有兩種 1.使用控制項自身的invoke begininvoke方法 2.使用sy...
子執行緒如何非同步更新Fragment的UI介面
通過handler通知fragment contacts介面 public class loadfrienddb extends thread public class fragment contacts extends fragment 但是問題來了,由於非同步執行了執行緒,時間是不一定的!有時候...