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