到目前爲止,這個主題已經討論了很多次,但仍然沒有得到它的工作。發送到UI線程的消息永遠不會到達
我MainActivity
有一個叫Handler mHandlerUi;
財產中它的構造函數初始化
mHandlerUi = new Handler() {
@Override
public void handleMessage(Message msg){
onMessageArrive(msg);
}
};
後來在代碼中,在另一類,施工時間我初始化另一個處理器性能
mHandlerToUi = new Handler(Looper.getMainLooper());
所以在線程的生命週期中,下面的代碼片斷會被執行X次。
Message msg = mHandlerToUi.obtainMessage();
msg.what = ConstMessages.MSG_NEW_GPS_POINT;
msg.setData(bundleContet);
mHandlerToUi.sendMessage(msg);
不幸的是,從未收到郵件在MainActivity的活套,這兩個線程使用相同的用戶界面的尺蠖,
缺少什麼我在這裏?
這正是我試圖做的,但爲什麼我需要共享處理器的類之間的參考,而不是它的活套很好的答案?有沒有辦法達到同樣的效果是,如果我會使用DuplicateHandle(c語言) –
Kevinrob回答了你的問題,什麼阻止你傳遞處理程序參考? – qichuan