Carregar apresentação
A apresentação está carregando. Por favor, espere
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) -
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.