5
respostas

Melhor forma de alimentar um ListView com informações de um WebService?

Estou fazendo uma aplicação para testar o que foi ministrado no curso de Android e fiquei com uma dúvida em relação a melhor maneira para alimentar um ListView com informações vindas de um WebService.

5 respostas

Opa andré, vc deve passar os itens para o adapter e invocar o método notifyDataSetChanged()

Alberto, tem algum exemplo de uso desse método? notifyDataSetChanged() eu estou com a mesma dificuldade e quero popular uma listview com os dados do adapter:

protected void onPostExecute(ArrayList<HashMap<String, String>> arraylistCursos) {
        //exibirProgress(false);
        if (arraylistCursos !=null) {
            //Criando um ArrayAdapter
            cursosAdapter = new CursosAdapter(context, arraylistCursos);

            //Adaptando o listView para o ArrayAdapter
            listviewCursos.setAdapter(cursosAdapter);


            //Caso o usuário Clicar em uma das opcões do ListView será executado esse método
            listviewCursos.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
                    HashMap<String, String> resultp = new HashMap<String, String>();
                    resultp = (HashMap<String, String>) cursosAdapter.getItem(arg2);


                    Curso curso = new Curso();
                    curso.setCodCurso(Long.parseLong(resultp.get(Curso.TAG_CODCURSO)));

                    Intent it;
                    it = new Intent(context, MainActivity.class);
                    // Passando parâmetros de um Activity a outro
                    it.putExtra(Curso.TAG_CURSO, curso);
                    it.putExtra("usuario", usuario);
                    //startActivityForResult(it, 0);
                    context.startActivity(it);
                }

            });

        } else {
            Toast.makeText(context, "Falha ao carregar cursos", Toast.LENGTH_LONG).show();
        }

    }

Olá Marco tudo bem ?

Cara tem um post que eu escrevi que pode te ajudar a deixar o código mais limpo e coeso, dá uma conferida :

http://blog.alura.com.br/utilizando-o-padrao-delegate-em-android/

O que você precisar pode falar que eu te ajudo !

Abraços

Opa man, na hora de chamar o construtor

 public MinhaTask(MinhaActivity activity){

        this.activity = activity;
    }

na minha Activity eu coloco o que???

MinhaTask taskmarota = new MinhaTask(activity.class);

Nesse caso eu estou passando uma view ou um contexto?

Consegui!!! new CursosTask(this, this).execute();

usei this this e foi lindo aqui vlw maaannn!!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software