Não funciona "2ª tela"

Pessoal, estou tentando praticar um pouco em android e estou com a seguinte duvida, estou tentando criar um login na 1 tela e registrar 1 dado na 2ª tela, só que consigo acessar a tela do registro OK, mas não consigo gravar nela, não sei bem o que pode ser, ele esta gravando em um arquivo, OK, até consigo vizualizar esse arquivo na 2 tela, mas não gravar dentro dele.
Provavelmente deve ser um erro besta, mas to apanhando feio para isso

Só que se eu criar o edit text e o text view na 1 tela, ou seja transferir os elementos para a tela inicial, ele roda que é uma blz, só da erro apos passar da tela inicial para a 2 tela.

em anexo o código

 package br.com.teste.pontomovelxml;


import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import br.com.teste.pontomovel.R;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class Ponto extends Activity {
	EditText texto;
	Button btOK,grava;
	TextView text;
	String CATEGORIA = "livro";
	String ARQUIVO = "senha.xml",msg;
	FileOutputStream out;
	
	public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
		menuprincipal();
	}

        
        
	public void inicializacaoObjetos() {
		try {
	        btOK = (Button) findViewById(R.id.BtAcesso);
			texto = (EditText) findViewById(R.id.edRegistro);
	        grava = (Button) findViewById(R.id.btHorario);
		} catch (Exception erro) {}
	}

	public void listeners() {
		try{
	        btOK.setOnClickListener(new View.OnClickListener() {
				public void onClick(View v) {
	    	    	setContentView(R.layout.hora);
	    			inicializacaoObjetos();
	    			listeners();
	    	    	visualizarArquivo();
					
				}
	        });

	        grava.setOnClickListener(new View.OnClickListener() {
				public void onClick(View v) {
					gravarArquivo();
				}
	        });

			} catch (Exception erro){}

		}

    public void gravarArquivo()
    {

		try {

			inicializacaoObjetos();
			listeners();
			
			msg = texto.getText().toString();
			out = openFileOutput(ARQUIVO, MODE_APPEND);
			ExibirMensagem("erro", msg);


			out.write("\n".getBytes());
			out.write(msg.getBytes());
			out.close();

			Log.i(CATEGORIA, msg + " - escrito com sucessso");

			visualizarArquivo();

		} catch (FileNotFoundException e) {
			Log.e(CATEGORIA, e.getMessage(), e);
		} catch (IOException e) {
			Log.e(CATEGORIA, e.getMessage(), e);
		}    }
    
	public void visualizarArquivo() {
		inicializacaoObjetos();
		listeners();

		TextView text = (TextView) findViewById(R.id.tvRegistro);
		
		try {
			File f = getFileStreamPath(ARQUIVO);

			Log.i(CATEGORIA, "Abrindo arquivo: " + f.getAbsolutePath());

			if(f.exists()){
				FileInputStream in = openFileInput(ARQUIVO);
				int tamanho = in.available();
				byte bytes[] = new byte[tamanho];
				in.read(bytes);
				String s = new String(bytes);
				text.setText(s);
			}else{
				Log.i(CATEGORIA, "Arquivo não existe ou excluído");
				text.setText("");
			}
		} catch (FileNotFoundException e) {
			Log.e(CATEGORIA, "Arquivo não encontrado: " + e.getMessage(), e);
		} catch (IOException e) {
			Log.e(CATEGORIA, e.getMessage(), e);
		}

	}

    public void ExibirMensagem(String titulo, String texto)
    {
    	AlertDialog.Builder mensagem = new AlertDialog.Builder(Ponto.this);
    	mensagem.setTitle(titulo);
    	mensagem.setMessage(texto);
    	mensagem.setNeutralButton("OK", null);
    	mensagem.show(); 
    }
    
    public void menuprincipal(){
	setContentView(R.layout.log);
	inicializacaoObjetos();
	listeners();
    }

    public void login()
    {    
    		try 
    		{
    	    	setContentView(R.layout.hora);
    			visualizarArquivo();
    			
		        
    		} catch (Exception erro) 
    			{
			ExibirMensagem(null, "Nao localizou dados " + erro);
    			}
    }
	                                   
    

    
}