Pergunta

Eu tentei adicionar essas visualizações para ver a visualização usando esse tipo de fábrica Mas toda vez que tento adicionar a vista a uma listatividade, ela não tem nada. O que estou fazendo errado? Eu configurei minhas visualizações da lista como assim:

 List<View> views = new ArrayList<View>();
 for(int x =0;x<tagg_views.size();x++){
      lv.addHeaderView(views.get(x));
 }
Foi útil?

Solução

Parece que você está tentando adicionar x número de cabeçalhos ao seu ListView. Isso não faz sentido.

Um ListView deve conter x número de cópias da mesma visualização, com informações diferentes em cada linha.

Olá ListView Dá um bom exemplo do uso correto de uma ListView.

Outras dicas

Por que você está adicionando as visualizações à lista você mesmo? Eu recomendo usar qualquer tipo de apropriado Adaptador para a lista. O adaptador lidará com a criação e reciclagem de visualizações enquanto o usuário está rolando etc. Se você usar um adaptador, ela é desencorajada para salvar referências à visão como se estivesse fazendo isso na lista de visualizações.

o AddHeaderView O método que você está usando é feito para um único cabeçalho para a lista que sempre aparecerá na parte superior da lista. Isso significa que chamá -lo em um loop não terá um resultado razoável.

Olhe para o HellolistView Exemplo Mayra menciona para entender como uma lista no Android está funcionando. Para ver como um listAdapter personalizado funciona, dê uma olhada nisso tutorial Parece promissor, apesar da má formatação do código.

Um ListView está vinculado e adaptador. O adaptador é responsável pelos dados exibidos no ListView. Leve em consideração que a ListView internamente cria um pool de ITMES (ou um pool para cada tipo de item que pode ser exibido no seu caso).

Para esse fim, seu adaptador precisa implementar os seguintes métodos:

  • int getItemViewType (Int Position): Obtenha o tipo de visão que será criado por getView (int, view, grupo) para o item especificado. Então você precisa identificar seus tipos.
  • int getViewTyPeCount (): Retorna o número de tipos de visualizações que serão criadas por getView (int, view, ViewGroup). Isso é usado para criar um pool para cada tipo de item.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top