Xamarin Rocket #9 — ListView: Detectando alteração dos itens e Removendo a célula Selecionada

Thiago Bertuzzi
May 16 · 3 min read

Fala galera,

Tentando manter a periodicidade semanal chegamos novamente com uma dica rápida de Xamarin.Forms!

A ideia é ser um artigo bem rápido e todas as dicas vão ficar em um único repositório, se você perdeu algum veja as que ja saíram :

· Xamarin Rocket #1 — LineBreakMode

· Xamarin Rocket #2 — Alterando o espaço das linhas e colunas do Grid

· Xamarin Rocket #3 — Tela Cheia, ocultando a barra de status

· Xamarin Rocket #4 — Imagens em botões

· Xamarin Rocket #5 — Notificação ao alterar a conexão

· Xamarin Rocket #6 — Como utilizar o GridLayout

· Xamarin Rocket #7 — Gestos

· Xamarin Rocket #8 — Indicador de Progresso


Eu não canso de escrever que o ListView é um dos controles mais utilizados do Xamarin.Forms … bem pelo menos ate o lançamento do Xamarin.Forms 4.0 (O X do Xamarin Forms — 4.0 — CollectionView e CarouselView) hehehehhee.

Existem algumas pequenas dicas que podem ajudar caso você queira fazer algum tratamento enquanto o usuário faz scroll na lista.

Por exemplo dependendo do item que aparece , habilitar ou desabilitar um botão. Exibir ou não exibir um controle, entre milhares de opções.

E remover o item selecionado de uma forma bem simples, é possível?

Vamos ver essas duas dicas abaixo!

Detectando alteração dos itens no Scroll. Quando um item desaparece :

Obter quando um item existe ou não existe no listview é muito simples.

Para nos ajudar vamos criar um Model e uma ViewModel auxiliar para preencher nosso ListView :

Em seguida implementar nosso ListView com o evento ItemDisappearing :

Agora vamos implementar a funcionalidade deste evento :

O que foi feito : Basicamente conseguimos obter qual o item esta sendo "removido" do Listview em tempo de execução. E com a mudança do index eu faço o Label aparecer ou desaparecer :

O exemplo é bem simples, mas você pode utiliza-lo para diversas necessidades.

Mas e se eu quiser remover o item selecionado é simples também ?

Removendo um item selecionado

Para fazer isto basta utilizar o evento ItemTapped :

Assim quando a célula for tocada ela tem sua seleção retirada. Isto não impede de você implementar uma ação antes, como uma navegação por exemplo. E ao voltar nenhuma célula estará selecionada:

São dicas muito simples, mas que podem ajudar quem esta começando :D

Caso queira baixar o código utilizado no Exemplo: Clique aqui.

Quer ver outros artigos sobre Xamarin ? Clique aqui.

Espero ter ajudado!

Aquele abraço!

Thiago Bertuzzi

Written by

Microsoft MVP,Gamer, Desenvolvedor e apaixonado por tecnologia!

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade