Dialog放在線程(thread)中會直接掛掉,造成程式沒辦法順利運行,這部份就沒有特別去研究過到底是啥原因,反正有解決方案就好了。線程這東西在這些行動裝置當中我真的覺得超重要,能夠好好的掌握就可以讓程式跑起來更加順暢,中間不會有任何的停頓造成使用上得感覺不好,UI這種東西按下去沒有給個回饋是很恐怖的,如果使用者發現沒有反應連續多點幾下後果可不刊設想。
一般使用線程(Thread)只要將需要用線程處理的地方放在todo something這邊就可以了
new Thread() {
@Override
public void run() {
//TODO something
}
}.start();
使用Thread必須把Dialog放在handler中也就是下面這code的todo something內,印出來的"msg.what"就是所傳送過來的參數,可以利用這參數作變化。
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
//TODO something
System.out.println("msg = "+msg.what);
}
};
若為UI相關必須使用以下方式
runOnUiThread(new Runnable(){
public void run() {
//TODO something
}});
呼叫handler
//傳送"0"過去 msg.what這變數就會印出"0"
handler.sendEmptyMessage(0);
就可以利用這方是來呼叫Dialog出來用,至於Dialog的使用方法可以參考"Android Dialog"
相關連結
Android Developers
Android Developers - Dialog
Android Developers - Thread
Android Developers - Handler
Loading... - Android Dialog
Android Dialog in thread 線程中放Dialog
by Isken Huang - 12/10/2010
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言