Práticas recomendadas que combinam visualizações de lista e não lista, como o Market

StackOverflow https://stackoverflow.com/questions/2036430

  •  19-09-2019
  •  | 
  •  

Pergunta

Estou tentando resolver um problema que aparentemente muitos desenvolvedores Android têm, que é como intercalar listas com dados que não são de lista, em um grande painel rolável.

O modelo que tenho em mente é a tela de um aplicativo individual do Market.Você tem uma grande descrição, uma lista de alguns comentários carregados lentamente e, em seguida, alguns itens individuais que fazem coisas diferentes, como visitar a página da web do desenvolvedor, ligar para ele, etc.E entre todos eles, estão ótimos cabeçalhos de seção.

Emular essa abordagem parece ser extremamente difícil.Já li respostas suficientes do SO e postagens em listas de discussão para saber que não devo colocar um ListView dentro de um ScrollView, mas quero o mesmo efeito sem usar addHeader() e addFooter() com visualizações de cabeçalho e rodapé muito complexas.

Eu tentei usar um LinearLayout que eu mesmo armazeno com visualizações, mas não consigo obter os efeitos de clique agradáveis ​​​​que os itens da lista padrão têm (fundo laranja, branco para clique longo, etc.).

O que eu faço?

Foi útil?

Solução

Dê uma olhada no meu MergeAdapter, que foi projetado para lidar com cenários como este.

Outras dicas

Por que não usar um cabeçalho?É fácil.Defina o conteúdo do cabeçalho em um layout separado.O layout da sua atividade contém apenas o ListView que você deseja na parte inferior.Sem visualização de rolagem!

Em seguida, ligue

View headerView = getLayoutInflater().inflate(R.layout.header_layout, null);
ListView listView = (ListView) findViewById(R.id.my_list_view);
listView.addHeaderView(headerView, null, false);   

É crucial chamar essa forma de addHeaderView para que o cabeçalho seja desabilitado.Caso contrário, pode ser selecionado, o que parece totalmente estranho.

O exemplo de Mark funcionaria.basicamente você precisa de um adaptador com diferentes tipos de visualização.Outro bom exemplo éhttp://jsharkey.org/blog/2008/08/18/separating-lists-with-headers-in-android-09/que pode funcionar melhor que o de Mark porque você deseja ter separadores e agrupar coisas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top