Navegação em Android usando botões

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

Fala roregk, blz?

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”.

O código ficaria mais ou menos assim…

Espero ter lhe ajudado…

Abrs

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();

}

void CarregaTelaPrincipal(){
	setContentView(R.layout.main);
	
	Button btCadastrar = (Button) findViewById(R.principal.btCadastrar);
	Button btConsultar = (Button) findViewById(R.principal.btBuscar);
	Button btListar = (Button) findViewById(R.principal.btListar);
	
	//Se clicar no botão cadastrar;
	btCadastrar.setOnClickListener(new View.OnClickListener() {			
		public void onClick(View v) {
			CarregaTelaCadastro();				
		}
	});

//Método para carregar a tela de Cadastro;
public void CarregaTelaCadastro(){
startActivity(new Intent(this, CadastroVeiculo.class));
}
[/code]

Espero ter ajudado!

				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