Ajuda com o método onConfigurationChanged Favoorrr

3 respostas
J

O problema é o seguinte, estou iniciando no desenvolvimento android acompanhando as videos aulas do Prof NERI, estou desenvolvendo uma aplicação de cadastro de clientes onde existem 3 telas , uma principal que tem dois botões, um leva a tela de Cadastramento e outro leva a tela de consulta, porem quando estou em uma dessas telas e rotaciono a tela para LANdscape nao importa onde esteja aplicação volta sempre pra tela principal, pesquisando na net descobri esse método “onConfigurationChanged” mais n estou conseguindo fazer a implementação, alguem ajuda :cry:

Aqui está o arquivo java com as respectivas chamadas às telas

public class ActivityVariasTelas extends ActionBarActivity {

<a class="mention" href="/u/override">@Override</a>

protected void onCreate(Bundle savedInstanceState) { //REFERENTE A TELA PRINCIPAL

super.onCreate(savedInstanceState);

telaPrincipal();

}

public void telaPrincipal(){
setContentView(R.layout.activity_varias_telas); //chama tela principal

Button btCadastro, btConsulta;

btCadastro = (Button) findViewById(R.id.botaoCadastro); //Cast dos botoes
btConsulta = (Button) findViewById(R.id.botaoConsulta);

btCadastro.setOnClickListener(new View.OnClickListener() {

<a class="mention" href="/u/override">@Override</a>

public void onClick(View v) {

chamaCadastro(); //se clicar no botao de cadastro eu chamo minha tela de cadastro

}

});
btConsulta.setOnClickListener(new View.OnClickListener() {

<a class="mention" href="/u/override">@Override</a>

public void onClick(View v) {

chamaConsulta(); //se clicar no botao de consulta chamo minha tela de consulta

}

});

}
//Chamar segunda tela, TELA DE CADASTRO

public void chamaCadastro(){

setContentView(R.layout.activity_tela_de_cadastro);//chama tela de cadastro

}
//Chamar terceira Tela, TELA DE CONSULTA

public void chamaConsulta(){

setContentView(R.layout.activity_tela_de_consulta); //chama tela de consulta

}

3 Respostas

Marky.Vasconcelos

A sua tela mesmo passando por onConfigChange vai ser destruida e reconstruida pelo onCreate.

Voce deve guardar o estado atual no onConfigChange e restaurar no onCreate da Activity.

No seu caso, você não deveria estar usando o setContentView para mudar de tela, a idéia é que a Activity seja apenas uma tela, crie uma Activity nova para a segunda tela.

J

estou seguindo umas videos aulas do prof NERI, elas são bem antigas, quer dizer q a ideia é criar uma activity para cada tela??

Marky.Vasconcelos

Sim, cada Activity é uma tela.

Criado 27 de março de 2015
Ultima resposta 2 de abr. de 2015
Respostas 3
Participantes 2