Botão não está funcionando

Galerinha,

Criei uma pequena aplicação que insere algumas informações em um cadastro.Gerei um botão tipo cadastrar mas o mesmo não devolve uma mensagem quando realiza o cadastro…o problema seria algo com o OnClick?

Segue o código…

[code]import android.app.Activity;
import android.app.AlertDialog;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class BD extends Activity {

String Nome_Banco = "Print";
SQLiteDatabase BancoDeDados = null;
EditText usuario;
EditText email;
EditText nome;
EditText senha;
EditText senhaConf;
Button Salvar;
Cursor cursor;
Cadastro cad = new Cadastro();

@Override
public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.cadastro);

	usuario = (EditText) findViewById(R.id.campoUsuario);
	email = (EditText) findViewById(R.id.campoEmail);
	nome = (EditText) findViewById(R.id.campoCad);
	senha = (EditText) findViewById(R.id.campoSenhaCad);
	senhaConf = (EditText) findViewById(R.id.campoSenhaConf);
	Salvar = (Button) findViewById(R.id.btCadastrar);
	btnSalvarDados();
}

public void CriaBanco() {
	try {
		BancoDeDados = openOrCreateDatabase(Nome_Banco,
				MODE_WORLD_READABLE, null);
		String SQL = "CREATE TABLE Db_Print(id_usuario integer PRIMARY KEY), usuario (6)TEXT NOT NULL,email (50)TEXT NOT NULL,nome (20)TEXT NOT NULL, senha (6) INTEGER NOT NULL,confSenha (6) INTEGER NOT NULL";
		BancoDeDados.execSQL(SQL);
		MensagemAlerta("Banco de Dados", "Banco criado com sucesso!");
	} catch (Exception erro) {
		MensagemAlerta("ERRO Banco de Dados",
				"Não foi possivel criar o banco!" + erro);
	} finally {
		BancoDeDados.close();
	}
}

public void GravaBanco(String usuario, String email, String nome,
		int senha, int confSenha) {
	try {
		BancoDeDados = openOrCreateDatabase(Nome_Banco,
				MODE_WORLD_READABLE, null);
		String SQL = "INSERT INTO Db_Print (usuario,email,nome,senha, confSenha) VALUES (usuario = '"
				+ usuario
				+ "',email ='"
				+ email
				+ ",nome='"
				+ nome
				+ "',senha='" + senha + "',confSenha=	'" + confSenha + "')";
		MensagemAlerta("Banco de Dados", "Registro gravado com sucesso!");
	} catch (Exception erro) {
		MensagemAlerta("ERRO Banco de Dados",
				"Não foi possivel gravar o registro!" + erro);
	} finally {
		BancoDeDados.close();
	}
}

private boolean VerificaRegistro() {
	try {
		BancoDeDados = openOrCreateDatabase(Nome_Banco,
				MODE_WORLD_READABLE, null);
		cursor = BancoDeDados.rawQuery("Select * from Print", null);

		if (cursor.getCount() != 0) {
			cursor.moveToFirst();
			return true;
		} else
			return false;
	} catch (Exception erro) {
		MensagemAlerta("ERRO Banco de Dados",
				"Não foi possivel verificar dados!" + erro);
		return false;
	} finally {
		BancoDeDados.close();
	}
}

public void btnSalvarDados() {
	Salvar.setOnClickListener(new View.OnClickListener() {

		public void onClick(View arg0) {
			MensagemAlerta("Banco de dados", "Registro salvo com sucesso!");
		}
	});
}

public void MensagemAlerta(String TituloAlerta, String MensagemAlerta) {
	AlertDialog.Builder Mensagem = new AlertDialog.Builder(cad);
	Mensagem.setTitle(TituloAlerta);
	Mensagem.setMessage(MensagemAlerta);
	Mensagem.setNeutralButton("OK", null);
	Mensagem.show();
}

}[/code]

Mas como devo deixar realmente o Xml?
No xml do botão se eu coloco algo como:

[code]

android:onClick="btnSalvarDados"
android:clickable=“true”/>[/code]

Ele me devolve um erro na aplicação…e senão coloco nada ele nem se importa com o pobre do botão! :frowning:
Tô ficando meio maluco com isso…não apresenta erro na hora de compilar…Alguém dá uma luz?

:x

Deve funcionar se você alterar seu método btnSalvarDados para isto:

public void btnSalvarDados(View view) { MensagemAlerta("Banco de dados", "Registro salvo com sucesso!"); } }

e manter aquela declaração no XML

Isso afirmo baseado na documentação: http://developer.android.com/training/basics/firstapp/starting-activity.html

Mas o problemas está aqui (eu acho)…quando chamo:

No botão ele retorna a mensagem de erro de Exception…o que pode ser?

O erro ta no xml msm, vc esqueceu de colocar alguns atributos…

<Button
android:layout_width=“fill_parent” <—Largura do botão
android:layout_height=“wrap_content” <—Altura do botão
android:id="@+id/btnSalvarDados"
/>

fazendo isso funciona direitinho :wink: