No desenvolvimento Android, a substituição de fragmentos dentro de um grupo de atividades requer uma abordagem diferente das atividades padrão. Veja como superar o problema e substituir um fragmento com êxito:
Compreendendo a limitação:
Fragmentos incorporados em XML não podem ser substituídos dinamicamente. Para permitir a substituição de fragmentos, eles devem ser adicionados dinamicamente durante o tempo de execução.
Substituição dinâmica de fragmentos:
Para substituir um fragmento existente por um novo:
Crie uma nova instância de fragmento:
Fragment newFragment = new SectionDescriptionFragment();
Iniciar uma transação de fragmento:
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
Substitua o contêiner de destino pelo novo fragmento:
transaction.replace(R.id.fragment_container, newFragment);
Opcionalmente, adicione a transação à pilha de retorno para o histórico de navegação:
transaction.addToBackStack(null);
Execute o transaction:
transaction.commit();
Garantir o ID do contêiner:
O contêiner do fragmento deve ter um ID exclusivo em seu layout XML. Este ID deve ser usado ao substituir o fragmento.
Chamada em resposta à ação:
No seu caso, você deseja substituir o fragmento quando um item na horizontal visualização de rolagem é tocada. Chame o código de substituição de fragmentos no ouvinte de clique do item.
Seguindo essas etapas, você pode substituir fragmentos com êxito em um grupo de atividades e manter as alterações de estado conforme necessário. Lembre-se de adicionar fragmentos dinamicamente em vez de incorporá-los em XML para este cenário.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3