olá pessoal, sou novato em Android, por isso não sei muito
bem eu gostaria de fazer navegações entre telas xml usando botões.
consegui fazer um botão mudar de tela mas só funciona no primeiro click.
meu código:
[code]
public class ControleFiscalActivity extends Activity {
/** Called when the activity is first created. */
Button btnGasto;
Button btnGanho;
Button btnMeta;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
exibirMain();
btnGasto = (Button) findViewById(R.id.btnGasto);
btnGanho = (Button) findViewById(R.id.btnGanho);
btnMeta = (Button) findViewById(R.id.btnObjetivo);
// chamar o metodo de mostrar tela ganho (Index)
btnGanho.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
exibirMain();
}
});
// chamar o metodo de mostrar tela gasto
btnGasto.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
exibirGasto();
}
});
// chamar o metodo de mostrar tela meta
btnMeta.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
exibirMeta();
}
});
}
// metodo exibir gasto
public void exibirGasto() {
setContentView(R.layout.gasto);
}
// metodo exibir ganho(main)
public void exibirMain() {
setContentView(R.layout.main);
}
// metodo exibir meta
public void exibirMeta() {
setContentView(R.layout.meta);
}
}[/code]
acho que é assim, que se faz, certo?
se alguém puder me ajudar, valeu
Então cara, para fazer a navegação entre telas no Android você precisa utilizar o método startActivity(Context ctx, Class clazz), ele possui algumas assinaturas, o que eu costumo utilizar é esse mesmo que eu descrevi, onde o parametro ctx você pode passar um this já que Activity estende Context e o segundo parâmetro é o nome da tela(Activity) que você quer “abrir”.
Um exemplo, só para complementar a explicação do nosso amigo douglasduarte :
Exemplo: estamos na tela principal com um menu e clicamos para cadastrar. O método CarregaTelaCadastro será chamado, como mostrado abaixo, e a linha startActivity(new Intent(this, CadastroVeiculo.class)); indica para qual tela será “redirecionado” a aplicação.
[code]public class AppEstacionamento extends Activity { @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
CarregaTelaPrincipal();
Intent intent = new Intent(this, Activity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
this.startActivityForResult(intent, CODIGO_RETORNO); // se vc quiser quer retorne algo para esta activity quando a proxima for finalizada ou
this.startActivityForResult(intent, CODIGO_RETORNO); // se vc quiser quer apenas que inicia a proxima activity