[RESOLVIDO]Vários clicks no save - salvando mais de um registro

4 respostas
Artur_Bernardo

Pensar em formas de corrigir isso não é algo tão difícil.
Mas eu queria saber uma forma que siga boas práticas.
Coloco um tempo de espera?
Alguma variável que mudará de true para false?

4 Respostas

Marky.Vasconcelos

Se você inicia uma AsyncTask ao clicar (login por exemplo, ou save na internet) o ideal seria no onPreExecute voce dar um setEnabled(false) no seu botao e setEnabled(true) no onPostExecute.

Se você quer realmente evitar que o usuario clique novamente depois de inserido você vai ter que comparar com alguma flag interna no seu codigo mesmo.

Artur_Bernardo

Marky.Vasconcelos:
Se você inicia uma AsyncTask ao clicar (login por exemplo, ou save na internet) o ideal seria no onPreExecute voce dar um setEnabled(false) no seu botao e setEnabled(true) no onPostExecute.

Se você quer realmente evitar que o usuario clique novamente depois de inserido você vai ter que comparar com alguma flag interna no seu codigo mesmo.

Minhas tentativas não funcionaram bem até agora.
O método está sendo “chamado no xml”. Quis desabilitar o botão logo que entra no método save, e reabilitar quando o método chega ao fim. Mas deu erro.

Artur_Bernardo
public void adicionarItem( View view ) //aqui é chamado pelo método definido no onclick do XML.
    {
    	this.enabledButton(false);

            // salva item

    	this.enabledButton(true);

    }
    
    public void enabledButton(boolean enable) 
    {
    	Button salva = (Button) this.findViewById( R.id.button1 );
    	salva.setEnabled(enable);
    }
Artur_Bernardo

Eu inverti o true e o false… funcionou agora.

Criado 11 de setembro de 2013
Ultima resposta 11 de set. de 2013
Respostas 4
Participantes 2