Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Re: ProgressDialog

Pessoal,

Funcionou legal com asyncTask mas agora estou com a seguinte situação:

em uma das tela do sistema tenho uma lista de produtos e um botão para fazer a leitura de um código de barras para o usuário incluir um novo produto. Se ele seleciona um produto da lista é direcionado para  a tela de cadastro do produto e se ele pressionar o botão voltar o sistema retorna normal pra tela de lista.

porém se ele faz a leitura de um código de barras ai ocorre um comportamento estranho.
A tela de lista de produtos chama o zxing pra fazer a leitura do código de barras. Eu pego o retorno através do onActivityResult e dai abro a progressDialog e consulto esse código na base online. após consultar direciono pra tela de cadastro já com os dados recuperados da web. Se o usuário pressionar voltar o sistema retorna pra tela de lista de produtos mas com a progressDialog aberta.

Já debuguei e tenho certeza que passa pelo trecho onde o progress é fechado ( dismiss() ) antes de ir pra próxima tela e também tenho certeza de que não entrou novamente no onActivityResult quando o usuários pressiona o voltar.

O estranho é que o erro só ocorre quando é feita leitura do código de barras mas o progressDialog também é utilizado quando um produto da lista é selecionado.

Se alguém tiver alguma dica agradeço.


Maicon Strey
Novo Hamburgo - RS - Brasil
------------------
http://maicon.strey.nom.br/blog/ 
http://maicon.strey.nom.br/blog/netiqueta/ 
Linux user: #525086
------------------



2012/5/1 Thiago Lopes Rosa <thiago.rosa@gmail.com>
Concordo, o AsyncTask é perfeito nesse caso!


Thiago


2012/5/1 lucasddaniel <lucasddaniel@gmail.com>
usa um AsyncTask.

On 30 abr, 23:08, Maicon Strey <mst...@gmail.com> wrote:
> Olá Pessoal,
> Estou tentando exibir um progressDialog enquanto minha aplicação faz uma
> consulta ao meu webservice. Sem isso parece que a aplicação está congelada.
> Tentei fazer de várias maneiras e na última meu código ficou conforme esse
> ai embaixo.
> Desta forma o comportamento que ocorre é:
> 1) Eu clico no botão de atualizar dados
> 2) app envia requisição ao site
> 3) site responde
> 4) app processa resposta
> 5) exibe progressdialog.
>
> Resumindo: quando ela é exibida não é mais necessária. Eu quero que ela
> seja exibida logo após eu clicar no botão de atualizar dados e que suma só
> depois de processar a resposta do site.
>
> Alguém tem alguma dica?
>
> **********
> ProgressDialog dialogo = new ProgressDialog(this);
> dialogo.setMessage("Sincronizando informações de produtos.");
> dialogo.setTitle("Sincronizando");
> dialogo.setCancelable(true);
> dialogo.setProgressStyle(ProgressDialog.STYLE_SPINNER);
> dialogo.show();
>
> closeContextMenu();
> new Thread(new Runnable() {
> public void run() {
> if (WebService.Conectado(getBaseContext())){
>  WebService wb = new WebService();
> if (wb.getProdutos(getBaseContext(), loja_menu.getId())){
>  Intent itProdutos = new Intent(getBaseContext(), ListarProdutos.class);
> itProdutos.putExtra("loja", loja_menu.getId());
>  dialogo.dismiss();
> startActivity(itProdutos);} else {
>
>  Toast.makeText(getBaseContext(), "Problemas na conexão.\n Tente
> novamente." , 5).show();}
>  }
> }
> });
>
> **********
>
> Maicon Strey
> Novo Hamburgo - RS - Brasil
> ------------------http://maicon.strey.nom.br/blog/http://maicon.strey.nom.br/blog/netiqueta/
> Linux user: #525086
> ------------------



--
Thiago Rosa

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário