Sorry I forgot these steps that are important:
RealmRecyclerView link
Adapter with RealmRecyclerView and Butterknife:
public class AdapterListaUsuario extends RealmBasedRecyclerViewAdapter<Pedido, AdapterListaUsuario.ViewHolder> {
public AdapterListaUsuario(
Context context,
RealmResults<Pedido> realmResults,
boolean automaticUpdate,
boolean animateResults) {
super(context, realmResults, automaticUpdate, animateResults);
}
@Override
public ViewHolder onCreateRealmViewHolder(ViewGroup viewGroup, int i) {
View view = inflater.inflate(R.layout.row_pedido, viewGroup, false);
return new ViewHolder(view);
}
@Override
public void onBindRealmViewHolder(ViewHolder viewHolder, int i) {
final Pedido item = realmResults.get(i);
viewHolder.fecha.setText(item.getFecha());
viewHolder.precio.setText(String.valueOf(item.getPrecio()));
viewHolder.tipo.setText(item.getTipo());
}
public class ViewHolder extends RealmViewHolder {
@BindView(R.id.row_fecha) TextView fecha;
@BindView(R.id.row_precio) TextView precio;
@BindView(R.id.row_tipo) TextView tipo;
public ViewHolder(View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
}
} }
XML important to add app:rrvLayoutType="LinearLayout"
:
<co.moonmonkeylabs.realmrecyclerview.RealmRecyclerView
android:id="@+id/rrvListaUsuario"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:rrvLayoutType="LinearLayout"/>
Well now I'm in a fragment, I hope you do not get complicated:
public class ListaUsuarioFragment extends Fragment {
@BindView(R.id.rrvListaUsuario) RealmRecyclerView recyclerView;
private RealmResults<Pedido> listaPedidos;
private AdapterListaUsuario adapter;
private Realm realm;
public ListaUsuarioFragment() { }
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_lista_usuario, container, false);
ButterKnife.bind(this, view);
realm = Realm.getDefaultInstance();
listaPedidos = realm.where(Pedido.class).findAll();
adapter = new AdapterListaUsuario(getActivity(), listaPedidos, true, true);
recyclerView.setAdapter(adapter);
adapter.notifyDataSetChanged();
return view;
} }
Class Pedido
:
public class Pedido extends RealmObject {
public static final String ID = "id";
@PrimaryKey
private long id;
private String fecha;
private String tipo;
private Double precio;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getFecha() {
return fecha;
}
public void setFecha(String fecha) {
this.fecha = fecha;
}
public String getTipo() {
return tipo;
}
public void setTipo(String tipo) {
this.tipo = tipo;
}
public Double getPrecio() {
return precio;
}
public void setPrecio(Double precio) {
this.precio = precio;
}
}