A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Tudo sobre listas em Android

Apresentações semelhantes


Apresentação em tema: "Tudo sobre listas em Android"— Transcrição da apresentação:

1 Tudo sobre listas em Android
Paula Caroline da Rosa Desenvolvera Android

2 Listas Lista Simples Lista Customizada
“É uma view group que disponibiliza uma lista de itens escroláveis” (Android developers) AdapterView Lista Simples Lista Customizada

3 Outras AdapterViews AdapterView é uma view que precisa de um adapter
Listview GridView Spinner

4 Adapter Adapter é responsável por fazer uma ponte entre um conjunto de dados a ser mostrado e a Adapter View (listView, gridView, spinner) Cada item da lista passa a ser uma pequena view (linha); O controle é feito através da posição dos itens da lista;

5 Criando uma lista simples
Passo 1: O layout Adicionar uma tag ListView dentro de um layout.

6 Criando uma lista simples
Passo 2: A activity Encontrar o id que referencia a lista no layout; Criar um adapter, passando os parâmetros context, layout e items Setar o adapter na lista passando como parâmetro o adapter criado;

7 Criando uma lista simples
Prós Fácil de implementar; Serve como protótipo; Lista estática textos; Contras Não recicla a view; Só aceita textos;

8 Como uma lista é carregada
Scroll Para Cima Reciclando a view

9 ViewHolder Armazena cada componente (view) dentro de uma tag.
Previne que o método findViewById seja chamado a cada vez que for utilizado o scroll e a view ficar ativa Aumenta performance da lista, permitindo que seja “scrolada” de forma suave

10 Criando uma lista customizada
Cria-se um layout representando como será cada linha da lista (custom_layout.xml) Cria uma tag do tipo ListView dentro do layout principal (activity_main.xml) Utiliza o adapter para transformar o conteúdo de cada linha em uma lista customizada

11 Criando uma lista customizada
Layout (custom_layout.xml)

12 Criando uma lista customizada
Adapter – extendendo de BaseAdapter Métodos: getCount() – Quantos itens serão representados por este adapter. getItem(int position) – retorna o dado que está associado com a posição atual getItemId(int position) – retorna o id da linha associada com a posição específica da lista getView(int position, View convertView, ViewGroup parent) – retorna a view que corresponde ao dado na posição atual

13 Criando uma lista customizada
Estende o Adapter da classe BaseAdapter

14 Criando uma lista customizada
Métodos getcount, getItem e getItemId

15 Criando uma lista customizada
Implementa o método getView

16 Criando uma lista customizada
Layout da lista (activity_main.xml)

17 Criando uma lista customizada
Activity – setando os itens no adapter (MainActivity.java)

18 Criando uma lista customizada

19 Outras formas Extender a activity de ListActivity
Utilizando um CursorLoader (dado do banco) Utilizando uma Asynctask com ViewHolder

20 Atualizando a lista Use o método notifyDataSetChanged() ao mudar a lista de itens.

21 Lidando com eventos Evento de click – implementando a interface AdapterView.OnItemClickListener Evento de usando a classe anônima que implementa a interface

22 Lidando com eventos Evento de click longo

23 RecyclerView Criada na versão 5.0 do Android (Lollipop)
É um container que exibe dados que podem ser scrolados de forma eficiente Faz parte das libs de supporte

24 RecyclerView LinearLayoutManager GridLayoutManager
StaggeredGridLayoutManager

25 LayoutManager Posiciona os itens dentro de uma RecyclerView
Determina quando as views deverão ser reaproveitadas Pode ser customizado (extendendo RecyclerView.LayoutManager), a fim de melhorias de performance e desempenho

26 No arquivo build.gradle, importar as dependências:
Assim como na ListView, abra uma tag no layout chamando RecyclerView

27 Layout do item usando cardview
Abra uma tag no layout usando CardView

28 Criando o adapter Extenda o adapter de RecyclerView.Adapter<MeuAdapter.ViewHolder> Crie o ViewHolder

29 Criando o adapter Implementando o método onCreateViewHolder
Infla-se o layout Cria-se uma instância da classe ViewHolder passando a view que foi criada Retorna o ViewHolder com a view já inflada

30 Criando o adapter Implementando o método onBindViewHolder
Chamado pelo LayoutManager Substitui o conteúdo da view Retornando o tamanho da lista

31 Criando a activity Setando adapter na activity

32 RecyclerView

33 Lidando com eventos Sem OnItemClickListener (#mimimi )
Uma forma: seta o clickListener na view (do construtor do ViewHolder criado)

34 Outras Vantagens Otimização de performance;
Encontrar itens visíveis (LinearLayoutManager) findFirstVisibleItemPosition/findLast(...) Informar adição/remoção de itens separadamente notifyItemRemoved(pos)/notifyItemInserted(pos) ItemDecorator e ItemAnimator  Controle de reciclagem (scrap heap e recycler pool)

35 Contato Twitter: @_paulacr Blog: http://paulacr.net
Exemplos: Mastering RecyclerView (Dave Smith) -


Carregar ppt "Tudo sobre listas em Android"

Apresentações semelhantes


Anúncios Google