"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como manter os itens do ListView destacados após a seleção no Android?

Como manter os itens do ListView destacados após a seleção no Android?

Publicado em 23/12/2024
Navegar:461

How to Keep ListView Items Highlighted After Selection in Android?

Como manter os itens do ListView destacados após a seleção no Android

No Android, manter o estado selecionado dos itens do ListView pode melhorar a experiência do usuário, fornecendo um indicador visual claro da seleção atual. No entanto, às vezes os desenvolvedores encontram problemas em que o item selecionado perde o destaque após determinados eventos, como rolagem ou outras interações com o ListView.

O desafio

Um desenvolvedor recentemente enfrentou esse problema ao trabalhar com dois ListViews em um layout XML. Um ListView exibia uma lista de clientes e o outro mostrava informações detalhadas sobre o cliente selecionado. Quando um cliente era selecionado no primeiro ListView, o desenvolvedor queria manter seu estado destacado enquanto atualizava o segundo ListView com os detalhes correspondentes. No entanto, o destaque não estava sendo preservado.

A solução

Para resolver esse problema, existem várias abordagens:

1. Usando atributos XML:

No layout XML, aplique os seguintes atributos ao ListView que precisa reter o destaque do item selecionado:

android:choiceMode="singleChoice"
android:listSelector="@drawable/list_selector"

Substitua @drawable/list_selector por um seletor drawable personalizado que especifica a cor de destaque desejada.

2. Abordagem programática:

Como alternativa, use o código a seguir para definir programaticamente o modo de seleção do ListView e a cor de destaque:

listView.setChoiceMode(AbsListView.CHOICE_MODE_SINGLE);
listView.setSelector(getResources().getDrawable(R.drawable.list_selector));

3. Evite a manipulação de visualizações:

É importante observar que a manipulação de visualizações diretamente por meio de ouvintes de eventos pode não ser confiável devido à natureza temporária das visualizações em ListView. As alterações feitas na visualização dos planos de fundo podem não persistir após a rolagem ou a ocorrência de outros eventos.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3