Top Banner
Introdução ao RecyclerView
14

Introdução ao RecyclerView

Jan 20, 2017

Download

Mobile

Rodrigo Amora
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introdução ao RecyclerView

Introdução ao RecyclerView

Page 2: Introdução ao RecyclerView

Desenvolvedor Mobile

Page 3: Introdução ao RecyclerView

Meu apps pessoais

https://goo.gl/sVpNU7https://goo.gl/Y7D9X

Page 4: Introdução ao RecyclerView

Surgiu no Android Lollipop junto com o Material Design.Foi criado para "substituir" o ListView. Tem como objetivo reaproveitar as views, ele recicla e implementa usando o padrão ViewHolder.

Page 5: Introdução ao RecyclerView

Vantagens• Suporte a animações ao adicionar e remover itens

da lista;

• Controle automático da reutilização das views;• Permitir alterar o gerenciador de layout para

rendereizar as views como listas, grids, etc.

Page 6: Introdução ao RecyclerView

compile ‘com.android.support:recyclerview-v7:23.1.0’

Page 7: Introdução ao RecyclerView

<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/recyclerview" android:layout_width="match_parent" android:layout_height="match_parent" />

/res/layout/activity_recycler.xml

Page 8: Introdução ao RecyclerView

public class RecyclerActivity extends Activity {

RecyclerView mRecyclerView;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.onCreate(savedInstanceState); setContentView(R.layout.activity_recycler);

mRecyclerView = (RecyclerView) findViewById(R.id.recyclerview); mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); mRecyclerView.setAdapter(new BasicListAdapter(this)); }

}

Page 9: Introdução ao RecyclerView

O Adapter do RecyclerView utiliza o conceito de Generics, com isso os métodos onCreateViewHolder() e onBindViewHolder() recebem o tipo genérico usado na classe.

Page 10: Introdução ao RecyclerView

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> { private Context context; private List<Object> list;

public onCreateViewHolder(Context context, List<Object> list) {…}

@Override public MyViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) { //Cria uma subclasse de RecyclerView.ViewHolder View view = LayoutInflater.from(context).inflate(R.layout.my_adapter, viewGroup, false); MyViewHolder holder = new MyViewHolder(view); return holder; }

@Override public void onBindViewHolder(final MyViewHolder holder, final int position) { //Receber o índice do elemento e atualiza as views que estão //dentro do ViewHolder }}

Page 11: Introdução ao RecyclerView

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> { //onCreateViewHolder() e onBindViewHolder()

public static class MyViewHolder extends RecyclerView.ViewHolder { public MyViewHolder(View view) { //Implementação…. } }

}

Page 12: Introdução ao RecyclerView

O RecyclerView provê maior controle sobre

os itens na tela

Page 13: Introdução ao RecyclerView

@Overridepublic void onBindViewHolder(final MyViewHolder holder, final int position) { String name = list.get(position); textViewNome.setText(mDataset.get(position)); textViewNome.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { remove(name); } });}

Page 14: Introdução ao RecyclerView

Obrigado

@[email protected]