Atividade e interação com fragmentos
eu tenho umActivity
com múltiplosFragment
s. Eu quero mostrar umDialogFragment
ou abra outroFragment
de um dosFragment
s. Eu sei que umActivity
deve ser o encarregado de abrirFragment
Então, tentei algumas coisas.
PRIMEIRO
Eu tentei usargetActivity()
e lançá-lo para que eu possa chamar um método noActivity
para mostrar umFragment
no entanto, isso cria uma dependência noFragment
com oActivity
e gostaria de evitar adicionar uma dependência, se possível.
SEGUNDO
Em seguida, tentei um ouvinte para notificar oActivity
que deveria mostrar umFragment
. Então eu criei uma classe noActivity
para implementar a interface do ouvinte. Mas eu tive problemas porque tive que usarNew MyActivity().new Listener();
e isso lançaria umException
quando tentei usargetSupportFragmentManager()
desde esta instância doActivity
não está inicializado.
TERCEIRO
Eu então tentei ter oActivity
implementar o listener diretamente, o que funciona porque então eu estou apenas criando uma dependência com o ouvinte e não com a Activity. No entanto, agora eu estou chegando ao ponto em que o meuActivity
implementarei 2 a 4 interfaces diferentes, o que me deixa hesitante, porque reduzirá severamente a coesão.
Então, de qualquer jeito que eu tentei, parece que estou correndo em uma parede de tijolos e criando dependências que eu não tenho certeza se preciso estar criando. Estou ferrado e tenho que ir com uma dessas opções? Em caso afirmativo, qual opção seria melhor? Qualquer ajuda ou sugestão são muito apreciadas.