【发布时间】:2014-05-24 00:55:26
【问题描述】:
我在我的应用程序中使用谷歌地图并显示标记。
现在点击标记窗口我想用其他片段替换当前片段。
for (StoreData store : comp.getArrStoreList()) {
LatLng l = new LatLng(Double.parseDouble(store.getLat()),
Double.parseDouble(store.getLng()));
MarkerOptions marker = new MarkerOptions()
.position(l)
.title(store.getName())
.snippet(store.getCity())
.icon(BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.HUE_AZURE));
Marker mrkr = mapCompanyList.addMarker(marker);
CompanyStoreData companyStoreData = new CompanyStoreData();
companyStoreData.setStoreData(store);
companyStoreData.setCompanyId(comp.getId());
listStoreData.put(mrkr, companyStoreData);
mapCompanyList
.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
try {
StoreDetailsFragment storeDetails = new StoreDetailsFragment();
Bundle b = new Bundle();
b.putSerializable(UserDefaults.STORE_OBJECT,
listStoreData.get(marker).getStoreData());
b.putString("StoreAppID", listStoreData.get(marker).getCompanyId());
storeDetails.setArguments(b);
((BaseTabbarContainer) companyListFragment.getParentFragment()).replaceFragment(
storeDetails, true); // here my UI is hang
} catch (Exception e) {
Log.e("Exception", "Exception :: " + e.getMessage());
}
}
});
}
我正在创建一个哈希图,其中 <marker,storedata> 标记作为键,storedata(我的自定义类对象)作为值。
在 onInfoWindowClick 上,我正在根据 hashmap() 的键获取存储数据的实例。它运行良好,但是
((BaseTabbarContainer) companyListFragment.getParentFragment()).replaceFragment(
storeDetails, true);
我的 UI 在这里挂起。有什么问题
【问题讨论】:
标签: android android-fragments google-maps-markers google-maps-android-api-2