ListView: Entendendo e Utilizando no Android

Receba em primeira mão o conteúdo exclusivo do Blog, além de promoções de livros e cursos de programação. Você receberá um email de confirmação. Somente depois de confirmar é que poderei lhe enviar o conteúdo exclusivo por email.

Email inválido.
Blog /Android /ListView: Entendendo e Utilizando no Android

ListView: Entendendo e Utilizando no Android

Vinícius Thiengo15/12/2013
(4447) (22) (3) (2)
Go-ahead
"Se você está planejando em fazer alguma coisa diferente, você será criticado por causa disso. Tenha fé de que o que você está fazendo é o certo e bloqueie qualquer negatividade."
Herb Kelleher
Código limpo
Capa do livro Refatorando Para Programas Limpos
TítuloRefatorando Para Programas Limpos
CategoriaEngenharia de Software
AutorVinícius Thiengo
Edição
Ano2017
Capítulos46
Páginas598
Comprar Livro
Conteúdo Exclusivo
Receba em primeira mão o conteúdo exclusivo do Blog, além de promoções de livros e cursos de programação.
Email inválido

Opa! Blz?!

Nesse vídeo mostro o que é e como utilizar o componente ListView no Android. Quais as vantagens dele diante a classe ListActivity e porque sempre utilizar ListView ao invés de ListActivity.

Quero ressaltar que a ListActivity é uma classe que herda de Activity e implementa internamente uma ListView que oculpa todo a tela do smartphone ou tablet. Já a ListView herda de View é mais personalizável, permitindo que vários outros componentes sejam utilizados na mesma tela em que se encontra a ListView. Claro que com ListActivity também é possível usar outros componentes na tela, porém essa técnica entraria no conceito de Fragments que é assunto para outro post e tem a intenção de ajudar em muitas outras coisas ao onvés de criar uma gambiarra para utilizar a ListView da ListActivity juntamente com outros componentes de tela.

Mas enfim, vou evitar mais delongas e deixar você assistir ao vídeo.

O link para download do projeto se encontra logo abaixo no post.

Compartilhe, comente! Vlw.

Receba em primeira mão o conteúdo exclusivo do Blog, além de promoções de livros e cursos de programação.
Email inválido

Relacionado

Classe Intent e o Conceito de Pilha em AndroidClasse Intent e o Conceito de Pilha em AndroidAndroid
Entendendo e Utilizando IntentFilter no AndroidEntendendo e Utilizando IntentFilter no AndroidAndroid
Entendendo a Thread Principal de Uma APP AndroidEntendendo a Thread Principal de Uma APP AndroidAndroid
Entendendo e Utilizando ListActivity no AndroidEntendendo e Utilizando ListActivity no AndroidAndroid

Compartilhar

Comentários Facebook

Comentários Blog (22)

Para código / script, coloque entre [code] e [/code] para receber marcação especifica.
Forneça seu nome válido.
Forneça seu email válido.
Forneça o comentário.
Enviando, aguarde...
Edeson (1) (0)
14/06/2017
Olá Thiengo, como faço para obter a ordem correta da playlist de mais de 200 vídeos sobre o Android? Não consigo organizar. Obrigado!
Responder
Vinícius Thiengo (1) (0)
14/06/2017
Edeson, tudo bem?

No Blog crie um artigo com a lista correta de estudo, segue link: http://www.thiengo.com.br/estudando-android-lista-de-conteudos-do-blog

Mas a pouco tempo também comecei os artigos e vídeos sobre o Kotlin, recomendo que os acompanhe também. Os dois já publicados estão abaixo:

http://www.thiengo.com.br/kotlin-android-entendendo-e-primeiro-projeto
http://www.thiengo.com.br/iniciando-com-anko-kotlin-intencoes-no-android

Abraço.
Responder
Edeson (1) (0)
15/06/2017
Obrigado pela sua atenção. Pela qualidade do seu trabalho já percebo que que irei aprende bastante. Muito obrigado mais uma vez!
Responder
08/05/2017
Fala Thiengo conterraneo, tudo certo?
Utilizei as suas dicas aqui e funcionou tudo prefeito no app. Consegui criar uma lisview de materiais que o usuario seleciona com spinner e ele acrescenta certinho com estrutura de BaseAdapter e etc. Agora estou tentando usar mesma logica só que acrescentando imagens selecionadas ou do SDcard ou tirada na hora da camera. Ao adicionar primeira imagem funciona certinho e adiciona no listview ,porem quando tento inserir outra ele acrescenta a nova mas substitui todas as anteriores que tiverem no listview, ele muda não só a imagem mas o texto digitado pelo usuario também.  Eu tentei usar também a ideia do método onActivityResult da Camera para trabalhar com a imagem do livro de Android do Ricardo Lecheta da 5ed para tentar resolver mas nada. poderia me dizer o que é preciso para resolver isso ou se é preciso usar outro tipo especifico de classe?
Responder
Vinícius Thiengo (1) (0)
08/05/2017
Joel, tudo bem aqui.

Não vejo problemas com o uso do ListView, é somente um framework de lista, pode manter utilizando ele.

Quanto ao problema, eu até poderia sinalizar que você não está utilizando o padrão ViewHolder. Caso não esteja, o utilize, isso vai aliviar em muito o problema de vazamento de memória em sua app.

Mas como falou que todas as imagens e textos passam a ser os mesmos, o que muito provavelmente está acontecendo é erro de lógica. Se possível revise todo o trecho de código que é responsável por obter a imagem e colocar em apenas um item da lista.

Esse trecho deve colocar os dados do novo item em um novo objeto e assim adicionar a lista que é vinculada ao adapter do ListView, logo depois invocar o método notifyDataSetChanged() do objeto adapter da lista. Assim deve funcionar.

Abraço.
Responder
09/05/2017
Acertou em cheio mano,tu é o cara. Depois de 4 dias penando e varrendo o stack eu criei uma classe ViewHolder no BaseAdapter achando que não era isso ,para ser utilizado no método getView(), acertei o if de criação do inflate no mesmo método e voilá, funcionou perfeitamente. Valeu mesmo. Agora só acertar a sujeira que ficou de tentativa e erro dos exemplos e comprar seu livro refatorando logo para fazer um upgrade no meu frankstein . kkk Abraço e obrigado. Continue com esse trabalho que é diferencial com certeza.
Responder
Vinícius Thiengo (1) (0)
09/05/2017
Show de bola, Joel. Abraço.
Responder
26/03/2016
apareceu isso no event log do android studio 6:33:48 IncorrectOperationException: Must not modify PSI inside save listener
Responder
Vinícius Thiengo (0) (0)
26/03/2016
Pablo, pesquisei aqui e nada de consistente encontrei, então se possível coloque seu código que tem o listener e o listview (incluindo adapter) no pasteBin (http://pastebin.com/) para que eu consiga ver o que está ocorrendo. Abraço
Responder
25/03/2016
thiengo urgente fiz o listview  tudo certo instalei o apk no meu cel abriu,mas quando clico para ir a outra tela aparece que parou
Responder
Vinícius Thiengo (0) (0)
26/03/2016
Fala Pablo, blz?
O que está sendo apresentado no LogCat logo após a APP parar? Se não conhece o LogCat (http://www.thiengo.com.br/entendendo-e-utilizando-o-a-classe-log-com-o-logcat-no-android). Abraço
Responder
26/03/2016
eu estou usando o android studio
Responder
Andson (1) (0)
27/11/2015
Eae Thiengo tudo tranquilo?
Gostaria de saber como eu criaria um app para exibir as ultimas postagem de um site, onde sempre que fosse postado um conteúdo ele automaticamente iria para o app, é o usuário recebesse um alerta da postagem, você poderia me dizer o que é preciso para fazer isso ou se você já tem algum material que fale sobre isso??
Responder
Vinícius Thiengo (1) (0)
29/11/2015
Fala Andson, blz?
Terá de construir uma APP com as entidades mais comuns, ao menos elas, como Activity, ListView, ImageView, TextView, (https://www.youtube.com/playlist?list=PLBA57K2L2RILUAyMeRmw5kkt4-zzTHv78)... e entidades de conexão Web, no caso recomendo o Retrofti 2.0 (http://www.thiengo.com.br/library-retrofit-2-no-android).

Terá de desenvolver tb a parte de notificação e push message para que seu servidor consiga enviar as notificações de novo conteúdo, mas esse tenho bem explicado nessa série (https://www.youtube.com/playlist?list=PLBA57K2L2RII4K3RpWuWsLaCCyPTBb1gw). Abraço
Responder
Andson (2) (0)
29/11/2015
vlwss Thiengo, vou começar os estudos, muito obrigado brother \õ/

Conheci seu trabalho esses dias, só posso dizer que continue com ele é muito massa, estais de parabéns, esta me ajudando muito.
Responder
Vinícius Thiengo (1) (0)
29/11/2015
Vlw Andson, abraço
Responder
pabllobeg (1) (0)
20/12/2015
ajuda muito obrigado vou ver todos os seus videos
Responder
Oliver (1) (0)
18/08/2015
Fala Thiengo blz? Parabens!

Como faco um Listview igual ao da app do blog? Com uma estrela para classificar os favoritos, tem algum exemplo?

Obrigado
Responder
Vinícius Thiengo (0) (0)
18/08/2015
Fala Oliver, blz sim.
Na verdade no Blog estou utilizando um RecyclerView, a estrela apenas acrescentei ao layout personalizado dos itens do Recycler. Quando há um click nela, acesso o id do objeto que teve os dados carregados naquela posição do RecyclerView e então salvo no bd local (SQLite) se aquele item foi favoritado (quando não era favorito anteriormente) ou o contrário. O icon de estrela peguei no Material Design Icons (https://materialdesignicons.com/). Abraço
Responder
Gabriel (1) (0)
05/04/2015
Eae thiengo tudo bem? Estou desenvolvendo um app que é basicamente um livro com imagens e textos porem não tô conseguindo resolver um problema. É basicamente assim tenho um linear layout e dentro dele tenho um imageview e um textview, usei o atributo peso para fazer com que o texto ocupe todo o espaço vazio da tela so que ele ocupa somente o espaço lateral que sobra e não o abaixo da imagem. Você sabe de algum modo do texto ocupar tanto o espaço lateral quanto o espaço inferior da imagem? Ja quebrei a cabeça tentando resolver se souber de um modo me ajudaria muito. Fico no aguardo, abs.
Responder
Vinícius Thiengo (0) (0)
05/04/2015
Fala Gabriel, td bem sim.
Uma forma que veja para solucionar esse problema é utilizar um WebView onde vc carregaria somente conteúdo local (a imagem e o text), logo com HTML no WebView é tranquilo de fazer isso, coloque o <img> dentro de um <div> e faça-o flutuar para o lado que quiser. Dentro do mesmo <div> vc coloca o text e esse comportamento desejado acontece automaticamente. Como o conteúdo será local, o WebView carregará rapidamente. Abraço
Responder
31/01/2015
getBaseContext() muito legal a dica!!! Parabéns e obrigado!
Responder