Olá pessoal.
Este metodo esta deprecated desde a API 28.
O que devo usar no lugar de:
override fun onAttachFragment(fragment: Fragment?) {
super.onAttachFragment(fragment)
if(fragment is ListaProdutosFragment){
}
}
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá pessoal.
Este metodo esta deprecated desde a API 28.
O que devo usar no lugar de:
override fun onAttachFragment(fragment: Fragment?) {
super.onAttachFragment(fragment)
if(fragment is ListaProdutosFragment){
}
}
Fala Marco, de boa ?
Cara na documentação achei isso aqui:
The responsibility for listening for fragments being attached has been moved to FragmentManager. You can add a listener to getChildFragmentManager the child FragmentManager} by calling addFragmentOnAttachListener in onAttach to get callbacks when a child fragment is attached.
Eu tentei desta formar, mas não funcionou:
override fun onCreate(savedInstanceState: Bundle?){
super.onCreate(savedInstanceState)
setContentView(binding.root)
val fm = supportFragmentManager
val listener = FragmentOnAttachListener { _, fragment ->
if (fragment is ListaProdutosFragment) {
fragment.fabCadastraProduto = {
vaiParaFormularioProduto()
}
fragment.abreDetalhesProduto = {produto, recyclerView ->
abreDetalheProduto(produto,recyclerView)
}
}
}
supportFragmentManager.addFragmentOnAttachListener(listener)
}
funcionou desta maneira:
init {
val fm = supportFragmentManager
val listener = FragmentOnAttachListener { fragmentManager, fragment ->
if (fragment is ListaProdutosFragment){
fragment.abreDetalhesProduto = {produto, recyclerView ->
abreDetalheProduto(produto,recyclerView)
}
fragment.fabCadastraProduto = {
vaiParaFormularioProduto()
}
}
}
fm.addFragmentOnAttachListener(listener)
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(binding.root)
}