1
resposta

Duvida

bom dia, pessoal estou usando ViewPager e Tablayout.

consegui criar o app ja e inflar 3 layouts diferentes 1 para cada aba, agora eu queria que dentro de uma dessas abas ao clicar no botao me levasse para outra tela mas sem sair da aba atual, apenas trocando o conteudo , no meu caso quero sair da tela de lista para tela de cadastro. do jeito que estou tentando recebo o seguinte erro

java.lang.IllegalArgumentException: No view found for id

meu codigo no clique do botao


    public void exibe(Fragment fragmento, boolean empilha){
        FragmentManager gerenciador = getSupportFragmentManager();
        FragmentTransaction transacao = gerenciador.beginTransaction();
        transacao.replace(R.id.aluno_frame, fragmento);
        if(empilha) {
            transacao.addToBackStack(null);
        }
        transacao.commit();
    }

create

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tela_principal);

        viewPager = findViewById(R.id.pager);
        MyPagerAdapter myPagerAdapter = new MyPagerAdapter(getSupportFragmentManager());
        viewPager.setAdapter(myPagerAdapter);
        tabLayout =  findViewById(R.id.tablayout);
        tabLayout.setupWithViewPager(viewPager);
}

chamo o metodo aqui

    @Override
    public void lidacombotao() {
        exibe(new FormularioAlunoFragment(), true);
    }
1 resposta

Oi Rafael, tudo bem? Ainda estou começando meus estudos no Android, mas acho que com o trecho de código que você informou não dá pra sugerir uma solução.

Tipo, pelo erro:

java.lang.IllegalArgumentException: No view found for id

Alguma view específica não está sendo encontrada. Mas não consigo saber o momento específico ou a linha que disparou a exception.