Я использую класс совместимости android с взломом для использования mapviews в фрагменте, найденном здесь: https://github.com/petedoyle/android-support-v4-googlemaps
К сожалению, то, что я нахожу, заключается в том, что если mapfragment удаляется из активности, а затем считывается, я получаю сообщение "Вам разрешено иметь только один MapView в MapActivity".
Я понимаю принцип, лежащий в основе ошибки, и попытался уничтожить mapview в методе onPause фрагментов. К сожалению, я не могу полностью разрушить карту, так как я все еще получаю ее. Мой код выглядит следующим образом:
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;
}
Есть ли у кого-нибудь мысли о том, что ссылка, которую я игнорирую здесь?