Ajuda com Button no android

3 respostas
D

bom dia, segue meu codigo, tentei fazer duas coisas:

- assim que clica no "confirmar": ocultar o layout dos botoes e edit text e habilitar o layout do progress bar, e assim que o metodo termina de fazer o login desfazer isso
- ou assim que clica em "confirma" desabilitar os botoes de "cofirma e cadastre-se"

não tenho ideia porque não esta funcionando. alguem pode me ajudar?

XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/ic_fundo"
    android:baselineAligned="false" >

    <LinearLayout
        android:id="@+id/lyt_barra_progresso"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center" >

        <ProgressBar
            style="?android:attr/progressBarStyleLarge"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingLeft="10dp"
            android:text="@string/lbl_carregando"
            android:textColor="#ffffff"
            android:textSize="22sp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/lyt_contente"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:orientation="vertical"
        android:paddingLeft="20dp"
        android:paddingRight="20dp" >

        <ImageView
            android:layout_width="112dp"
            android:layout_height="97dp"
            android:contentDescription="@string/descricao_login_logo"
            android:src="@drawable/ic_logo" />

        <EditText
            android:id="@+id/txt_usuario"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/lbl_login_usuario"
            android:inputType="text"
            android:maxLength="50"
            android:singleLine="true" >

            <requestFocus />
        </EditText>

        <EditText
            android:id="@+id/txt_senha"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/lbl_login_senha"
            android:inputType="textPassword"
            android:maxLength="50" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceSmall" />

        <LinearLayout
            android:id="@+id/RadioGroup01"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:weightSum="1" >

            <Button
                android:id="@+id/btn_confirma"
                android:layout_width="140dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.45"
                android:text="@string/lbl_confirma"
                android:textSize="18sp"
                android:width="200dp" />

            <Button
                android:id="@+id/btn_cadastre"
                android:layout_width="140dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.54"
                android:text="@string/lbl_cadastre_aqui"
                android:textSize="18sp"
                android:width="200dp" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>

codigo JAVA

// evento de pegar o CLICK
public void onClick(View v) {
		switch (v.getId()) {
		case R.id.btn_confirma:
			desativarBotoes();
			confirmarLogin();
			break;

		case R.id.btn_cadastre:
			Intent it = new Intent(this, CadastroActivity.class);
			startActivity(it);
			break;

		default:
			break;
		}
	}

private void confirmarLogin() {
		if (GerenciarInternet.hasNetwork(getApplicationContext())) {
			Usuario usuario = new Usuario();
			usuario.setLogin(((TextView) findViewById(R.id.txt_usuario)).getText().toString());
			usuario.setSenha(((TextView) findViewById(R.id.txt_senha)).getText().toString());

			if (validador(usuario) == true) {
				usuario = ConsultarLoginServidor.consultar(usuario);
				finalizarBarraProgresso();
				if (usuario.getId_usuario() == 0) {
					alertaMensagem(MensagemUtil.MSG_ATENCAO, MensagemUtil.MSG_LOGIN_FALHA);
				} else {
					chamarMenu();
				}

			} else {
				alertaMensagem(MensagemUtil.MSG_ATENCAO, MensagemUtil.MSG_CAMPOS_OBRIGATORIOS);
			}
		} else {
			alertaMensagem(MensagemUtil.MSG_ALERTA, MensagemUtil.MSG_FALTA_INTERNET);
		}
		ativarBotoes();
	}

	protected boolean validador(Usuario usuario) {
		boolean retorno = true;
		if (Validador.ValidarString(usuario.getLogin()) == false){
			retorno = false;
		}else
		if (Validador.ValidarString(usuario.getSenha()) == false){
			retorno = false;
		}
		return retorno;
	}
	
	private void chamarMenu() {
		Intent it = new Intent(this, MenuActivity.class);
		startActivity(it);
	}

	public void desativarBotoes() {
		findViewById(R.id.btn_confirma).setEnabled(false);
		findViewById(R.id.btn_cadastre).setEnabled(false);
	}

	public void ativarBotoes() {
		findViewById(R.id.btn_confirma).setEnabled(true);
		findViewById(R.id.btn_cadastre).setEnabled(true);
	}

	public void inicarBarraProgresso() {
		findViewById(R.id.lyt_contente).setVisibility(View.GONE);
		findViewById(R.id.lyt_barra_progresso).setVisibility(View.VISIBLE);
	}

	public void finalizarBarraProgresso() {
		findViewById(R.id.lyt_barra_progresso).setVisibility(View.GONE);
		findViewById(R.id.lyt_contente).setVisibility(View.VISIBLE);
	}

3 Respostas

Marky.Vasconcelos

Cade onde voce chama inicarBarraProgresso e finalizarBarraProgresso?

PS: E esse Validar.ValidarString ? Siga os padrão camelCase, mais legivel seria Validar.validarString, ou entao Validar.isValidString (ou se quiser em portugues Validar.isStringValida)

D

tentei chama ela aqui o:

public void onClick(View v) {  
        switch (v.getId()) {  
        case R.id.btn_confirma: 
 
            inicarBarraProgresso();
            confirmarLogin();  
            break;  
  
        case R.id.btn_cadastre:  
            Intent it = new Intent(this, CadastroActivity.class);  
            startActivity(it);  
            break;  
  
        default:  
            break;  
        }  
    }

so que mesmo chamando assim.. ele não oculpa e mostra a progressbar

D

valeu pela dica ja vou modificar o nome do metodo aqui

Criado 6 de junho de 2012
Ultima resposta 6 de jun. de 2012
Respostas 3
Participantes 2