1
我有一個GWT應用程序,我移植到GWT 2.4。在這條線現在我木屐棄用警告:GWT棄用:PlaceHistoryHandler.register?
historyHandler.register(placeController, eventBus, defaultPlace);
「從類型PlaceHistoryHandler的方法寄存器(PlaceController,EventBus,廣場),不推薦使用」
有沒有更好的辦法在這裏實現同樣的結果或忽視警告是否安全?
public void onModuleLoad()
{
// Create ClientFactory using deferred binding so we can replace with
// different impls in gwt.xml
ClientFactory clientFactory = GWT.create(ClientFactory.class);
EventBus eventBus = clientFactory.getEventBus();
PlaceController placeController = clientFactory.getPlaceController();
// Start ActivityManager for the main widget with our ActivityMapper
ActivityMapper activityMapper = new AppActivityMapper(clientFactory);
ActivityManager activityManager = new ActivityManager(activityMapper, eventBus);
activityManager.setDisplay(appWidget);
// Start PlaceHistoryHandler with our PlaceHistoryMapper
AppPlaceHistoryMapper historyMapper = GWT.create(AppPlaceHistoryMapper.class);
PlaceHistoryHandler historyHandler = new PlaceHistoryHandler(historyMapper);
historyHandler.register(placeController, eventBus, defaultPlace);
RootPanel.get().add(appWidget);
// Goes to place represented on URL or default place
historyHandler.handleCurrentHistory();
}
}
清晰,簡潔的答案!謝謝 - – Mike6679 2012-03-01 19:08:01
我發現Activity.start方法仍然需要舊的EventBus。因此,目前您必須使用已棄用的PlaceHistoryHandler註冊表,或者必須推出自己的Activity基類。 – Deanna 2012-03-01 20:48:00
@Deanna兩個不是真的原因:任何啓動的'Activity'都沒有給出你傳遞給'PlaceHistoryHandler.register'的確切的'EventBus',因爲'PlaceHistoryHandler'只涉及將歷史映射到地方。另外,雖然舊的EventBus是新的EventBus的子類,但爲活動提供的EventBus實例實際上是一個不同的實例,旨在允許在活動結束時重置所有註冊的處理程序。 – 2012-03-02 03:32:14