BaseAdapter

Fala galela,

Estou aqui para tirar um duvida sobre o listview e base adapter.

Quando seleciono algum item na minha lista, faço uma serie de validações/busca e alem disso percebi que passa dezenas de vezes dentro do método getView no adapter.

É assim mesmo que funciona? Da pra melhorar alguma coisa?

Meu adapter já esta customizado da forma eficiente, estou inflando ele somente quando a view for null e utilizando uma classe viewholder.

Questiono isso porque dependendo se tiver um solução meu sistema poderá ficar mais rápido/eficiente.

Att.
Leandrooooo

O a quantidade de chamadas do getview é = quantidade de linhas que o listView terá, é um padrão necessário… não tem muito o que fazer.

Se sua busca de dados para o preenchimento da lista é muito pesado/demorado uma solução é utilizar uma Thread/AT que faz as buscas e através de uma callback enviar o dado para o adapter de uma posição e por sua vez chamar notifDataSetChanged toda vez que chegar uma nova “posição” da lista. Assim ela vai ser incrementada em tempo real de execução, ela já criada rapidamente e completada de acordo que é feita as leituras de dados.

fabriciov,

O problema não está no preenchimento da lista, até que está rapido. E que a cada selecionado lista vejo que ele passa varias vezes e isso pelo que percebo fica um lento.

Mais gostei da sua dica, tem algum exemplo que possa me enviar? Eu to aprendendo e ainda nem vi esse callback, o que seria?
Esse notifDataSerChanged ja vi que é para atualizar a lista na tela.

Desde já obrigado.

Att.
Leandrooooo

é um exemplo que tinha feito para uma outra postagem.

https://mega.co.nz/#!K542gbbD!cFy0KU9Q_taCtzxzjZqfAxZFKXVh1g1nggQSiJCNI_0