ViewPager e FragmentActiviy em vez de Fragment
-
21-12-2019 - |
Pergunta
Eu tinha um aplicativo simples e agora estou mudando para ficar mais profissional...Agora quero que todas as partes do meu aplicativo entrem em um ViewPager
em vez de se esconder sob os botões, uma parte do meu aplicativo é um FileManager que estendeu Activty
, eu mudei isso para extends FragmentActivty
trabalhar com ViewPager
afinal, sem sucesso.
Minha pergunta é:é possível usar outro tipo de fragmentos em vez de Fragment
para ViewPager
de forma alguma?
devo codificar meu FileManager do zero!!!???Existe alguma alternativa?
EDITAR:Eu quero criar algo quase assim aplicativo
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return FragmentClass.newInstance(0, "Page # 1");
case 1:
return FragmentClass.newInstance(1, "Page # 2");
case 2:
return FileDialog.newInstance(2, "FileManager");
//Here is my problam, that says "Type mismatch: cannot convert from FileDialog to Fragment"
//It wants Fragment type
default:
return null;
}
}
Solução
Fragmentatividade não é um fragmento, é uma atividade especial nas bibliotecas de suporte que permite usar fragmentos em versões mais antigas do Android.Infelizmente você não pode colocar uma fragmentividade em um viewpager.Você deve classificar derivado da classe de fragmentos na biblioteca de suporte se você pretende usar o visualpager porque o viewPager só existe na biblioteca de suporte.
Para esclarecer nos fragmentos, existem duas superclasses de fragmentos diferentes que você encontrará (ambos são chamados de fragmento).A diferença é que uma é das bibliotecas normais Android e a outra é das bibliotecas de suporte.Você precisa de fragmentos derivados da superclasse de fragmento nas bibliotecas de suporte (android.support.v4.app.fragment) se você quiser usá-los com o ViewPager.
Outras dicas
Um fragmento em si é uma superclasse e pode ser utilizado de maneiras diferentes.
Dê uma olhada no desenvolvedor docs em fragmentos para sua implementação, emelhores práticas em termos de uso.A menos que você esteja procurando por uma biblioteca muito específica para sua aplicação, você não deve precisar reinventar a roda.