創(chuàng)建handler對象的方法有以下幾種:
使用基本的Handler類創(chuàng)建:可以直接使用Handler類的構(gòu)造函數(shù)創(chuàng)建一個Handler對象。
Handler handler = new Handler();
使用HandlerThread創(chuàng)建:HandlerThread是一個帶有Looper的線程,可以在其上創(chuàng)建Handler對象。
HandlerThread handlerThread = new HandlerThread("MyHandlerThread");
handlerThread.start();
Handler handler = new Handler(handlerThread.getLooper());
使用Looper創(chuàng)建:可以使用Looper的靜態(tài)方法myLooper()獲取當(dāng)前線程的Looper對象,然后使用它創(chuàng)建Handler對象。
Looper looper = Looper.myLooper();
Handler handler = new Handler(looper);
使用主線程的Looper創(chuàng)建:可以使用主線程的Looper對象創(chuàng)建Handler對象。
Handler handler = new Handler(Looper.getMainLooper());
使用Handler.Callback創(chuàng)建:可以實現(xiàn)Handler.Callback接口,然后將其作為參數(shù)傳遞給Handler的構(gòu)造函數(shù)。
Handler.Callback callback = new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
// 處理消息
return true;
}
};
Handler handler = new Handler(callback);
這些方法可以根據(jù)實際需求選擇合適的方式來創(chuàng)建Handler對象。