我在包含小组问题的活动中有一个可扩展的列表视图。当用户选择问题时,我的答案会以片段形式回答。
我在LinkedHashMap中收集子位置和组位置的位置。
如何将此地图发送回活动?
谢谢
答案 0 :(得分:0)
您声明了一个界面。
(void)prepareMap
{
[self.viewForMap removeAllSubviews];
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:latitude longitude:longtitude];
GMSMapView *mapView = [GMSMapView mapWithFrame:rect camera:camera];
[self.viewForMap addSubview:mapView];
}
您在Activity中实现它。 然后在片段中实现以下内容。
interface ActivityListener {
onGroupPositionsReady(LinkedHashMap map);
}
当你准备好了地图时。
@Override
public void onAttach(Context context) {
super.onAttach(context);
Object host = getHost();
if (host instanceof ActivityListener ) {
activityListener = (ActivityListener ) host;
}
}
答案 1 :(得分:0)
通过界面。
定义自定义界面,例如:
public interface BackToActivity {
void onAnswersChosen(LinkedHashMap map);
}
您的活动必须实施它。然后,从片段中调用((BackToActivity)getContext).onAnswersChosen(map)
答案 2 :(得分:0)
我认为最简单的方法是通过简单的setter将它传递给Activity:
内部活动:
private LinkedHashMap linkedHashMap;
public void setLinkedHashMap(LinkedHashMap linkedHashMap) {
this.linkedHashMap = linkedHashMap;
}
片段中的某个方法:
MyActivity myActivity = (MyActivity) getActivity();
myActivity.setLinkedHashMap(linkedHashMap);