Biblioteca de suporte Android 27, Atualização de fragmento?
Desde que atualizei meu projeto para o SDK versão 27 e gradle plugins da biblioteca de suporte para a versão27.0.0
Eu precisava mudar meu código.
Com26.1.0
Eu posso apenas usargetContext()
(com Kotlincontext
) no meuFragment
(android.support.v4.app
) e não tenho problemas de nulidade, mas como uso o Kotlin, tenho um problema com a versão27.0.0
, todo meucontext
as chamadas não funcionavam mais, eu precisava de um operador de segurança, comocontext!!
, mas como eu pessoalmente acho que é uma agitação fazer isso toda vez que eu me formei, eu funcionava
override fun getContext() = super.getContext()!!
Outra coisa que muda (de repente e é por isso que estou perguntando) são os métodosonCreateView()
eonViewCreated()
. NoonCreateView
o inflator não é mais nulo, então eu precisava alterar minha assinatura de função para substituir adequadamente deonCreateView(inflater: LayoutInflater?...)
paraonCreateView(inflater: LayoutInflater...)
e o mesmo para ocreatedView
parâmetro emonViewCreated
.
Então agora eu estava me perguntando por que, especialmente o (para Kotlin) muito feiogetContext()
mudança foi feita e se dirigiu parahttps://developer.android.com/sdk/support_api_diff/27.0.0/changes.html.
Mas espere, aparentemente eles não mudaram? Então agora minha pergunta é se estou fazendo algo errado ou se eles realmente mudaram e se sim, posso perguntar por que?
A propósito, o mesmo se aplica agetActivity()
, Eu acho que omHost == null
verificação foi adicionada e ogetActivity
O método é ainda final, então não posso usar minha solução alternativa lá, o que o torna muito muito feio. Na verdade, nos arquivos de origem, os métodos se parecem com os mesmos, mas26.1.0
tem o tipo de retorno KotlinContext!
e27.0.0
tipo de retornoContext?
.