Что я пытаюсь сделать, так это приложение типа «мастер/детализация», где один из моих опций выбора - это карта Google с некоторыми дополнительными кнопками под макетом карты.Заменить фрагмент макета, содержащего фрагмент
Все мои другие варианты просто загрузите фрагмент в FrameLayout, используя что-то вроде:
getSupportFragmentManager().beginTransaction()
.replace(R.id.content, myFragment, fragTag)
.commit();
Я не могу сделать это с MapFragment, потому что нужны другие вещи в макете и вложенные фрагменты не являются поддерживается (но, надеюсь). Поэтому мне нужно заменить обычный фрагмент на составное представление, содержащее фрагмент, но я не уверен, как здесь должно работать управление фрагментами.
Я не думаю, что я могу просто позвонить
getSupportFragmentManager().beginTransaction()
.replace(R.id.content, myCompositeView, fragTag)
.commit();
На данный момент я делаю это:
Fragment currentFrag = getSupportFragmentManager().findFragmentById(R.id.content);
getSupportFragmentManager().beginTransaction().remove(currentFrag);
LayoutInflater inflator = LayoutInflater.from(this);
ViewGroup container = (ViewGroup)findViewById(R.id.content);
container.removeAllViews();
View mapView = inflator.inflate(R.layout.store_finder, container, true);
Это делает его немного неаккуратно при замене этого с другими фрагментами снова Мне нужно снова удалить все виды из макета. Кроме того, я не уверен, как правильно удалить MapFragment после его настройки таким образом.
Я бы признателен за любую помощь и для кого-то, чтобы положить свой ум в покое :)
Сноска: Видимо Вложенные фрагменты являются вещью в настоящее время, но не уверен, что это так, как я хочу пойти на что-то просто. http://developer.android.com/about/versions/android-4.2.html#NestedFragments
Я имел обыкновение использовать этот трюк: http://pastebin.com/CLRNd4BT как об этом? – deadfish
Кажется, вы заменяете один фрагмент другим? Это не то, что я прошу –
*, но не уверен, что так я хочу пойти на что-то простое. * - нет другого бесполезного способа. Фрагмент был предназначен для замены другим фрагментом, а не фрагментом макета +. – Luksprog