在子執行緒中Toast

2021-07-02 04:29:33 字數 494 閱讀 9836

問題: 直接在普通子執行緒中toast會報錯

錯誤關鍵:  1.普通的執行緒不能直接new乙個handle,而toast初始化**中如下**片:public class toast

2.為什麼普通執行緒不能new乙個handle?

handle類**如下:

public handler()

}   looper類中的**片段:

public static final looper mylooper()

處理方法:   1.為普通執行緒先設定乙個訊息迴圈, 使用 looper.prepare()方法

public static final void prepare()

sthreadlocal.set(new looper());

}2.進入訊息迴圈檢視訊息   looper.loop(); //為阻塞方法

public void onclick(view v);

}.start();

}

子執行緒中Toast

那天和同學在討論乙個小demo,無意間,在子執行緒中toast了一把,竟然報錯了 因為toast在service和activity中都可以執行。所以開始就認為和ui執行緒沒有有太大的關係,而現在子執行緒toast竟然報錯!無奈之下,花了半天的時間看了一下handler,looper,toast的原始...

在子執行緒中直接使用 Toast 及其原理

一般我們都把toast當做乙個ui控制項在主線程顯示。但是有時候非想在子執行緒中顯示toast,就會使用handler切換到主線程顯示。但是子執行緒中真的不能直接顯示toast嗎?答案是 當然可以。那應該怎麼操作呢?在當前執行緒中先初始化乙個looper即可!looper.prepare toast...

可在子執行緒中使用的Toast

one goal,one passion 一般我們使用taost時必須在主線程中,可是如果我們想在子執行緒中使用是就不是那麼方便了.因為系統的toast在子執行緒中使用會報錯.下面我們做一些處理,就可以實現在子執行緒中使用toast.public class myutils else 1,如果執行緒...