Introdução ao
RecyclerView
Desenvolvedor Mobile
Meu apps pessoais
https://goo.gl/sVpNU7https://goo.gl/Y7D9X
Surgiu no Android Lollipop junto com o Material Design.
w. Tem como objetivo reaproveitar as views, ele recicla e impleme
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.
compile ‘com.android.support:recyclerview-v7:23.1.0’
<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
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));
}
}
erics, com isso os métodos onCreateViewHolder() e onBindVie
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
}
}
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {
//onCreateViewHolder() e onBindViewHolder()
public static class MyViewHolder extends RecyclerView.ViewHolder {
public MyViewHolder(View view) {
//Implementação….
}
}
}
O RecyclerView provê
maior controle sobre os
itens na tela
@Override
public 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);
}
});
}
Obrigado
@RodrigoAmora
rodrigo.amora.freitas@gmail.com

Introdução ao RecyclerView