Android mapview с фрагментами нельзя добавить дважды?

Я использую класс совместимости Android с хаком для использования mapviews во фрагменте, найденном здесь: https: / /github.com/petedoyle/android-support-v4-googlemaps

К сожалению, я обнаружил, что если фрагмент карты удаляется из действия, а затем читается, я получаю сообщение «Вам разрешено иметь только один MapView в «ошибке» MapActivity.

Я понимаю принцип, лежащий в основе ошибки, и попытался уничтожить mapview во фрагментах метода onPause. К сожалению, я не могу полностью уничтожить mapview, так как все еще получаю его. M y Код выглядит так:

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;
}

Есть ли у кого-нибудь мысли о том, какую ссылку я не собираюсь уничтожать здесь?

11
задан akhalsa 19 October 2011 в 08:25
поделиться