Sto usando la classe compatibilità Android con l'hack per utilizzare mapviews in un frammento trovato qui: https://github.com/petedoyle/android-support-v4-googlemapsLa mapview di Android con i frammenti non può essere aggiunta due volte?
Purtroppo, quello che sto trovando è che se il mapfragment viene rimosso dall'attività, e poi riaggiunto, ho la "Si può avere un solo errore di MapView in MapActivity".
Capisco il principio dietro l'errore e ho provato a distruggere il mapview nel metodo onPause dei frammenti. Sfortunatamente non riesco a distruggere il mapview completamente, dal momento che sto ancora ricevendo. Il mio codice è simile a questo:
private RelativeLayout layout;
private MapView mp;
public void onResume(){
super.onResume();
Bundle args = getArguments();
if(mp == null)
{
mp = new MapView(getActivity(), this.getString(R.string.map_api_key));
mp.setClickable(true);
}
String request = args.getString("requestId");
layout = (RelativeLayout) getView().findViewById(R.id.mapholder);
layout.addView(mp);
//TextView txt = (TextView) getView().findViewById(R.id.arguments);
//txt.setText(request);
}
public void onPause(){
super.onPause();
layout.removeView(mp);
mp = null;
}
Qualcuno ha qualche idea su quale sia il riferimento che sto trascurando di distruggere qui?