Meu ListView tem dois tipos de visualizações. Como gerenciar?
Meu aplicativo de gerenciamento de eventos possui dois tipos de visualizações na exibição em lista: uma pequena exibição de texto simples para eventos não tão importantes e uma exibição complexa criada com umFrameLayout
.
noonCreateView()
do adaptador, retorno essas visualizações, dependendo da natureza do evento.
if(convertView == null){
if(important)
// inflate the complex view
else
// inflate the simpler view
}
Tudo isso é bom quandoconvertView
é nulo. Devido à reciclagem de visualizações no Android, pode acontecer que oconvertView
retornado para mim é reciclado a partir da visualização mais simples e agora tenho que exibir a visualização maior. Uma solução idiota é inflar novas visualizações o tempo todo. No entanto, isso prejudicará o desempenho.
Outra maneira é ter invisívelTextView
s em ambos (visibility=gone
) com valores predefinidos e, dependendo do valor neles, posso aumentar as visualizações. Para mim, isso parece mais um hack do que uma solução real.
Qual é o caminho certo para lidar com essa situação?