1 Aralık 2017 Cuma

RecyclerView.Adapter Sınıfı

Giriş
İskeleti şöyledir.
public class FooAdapter extends RecyclerView.Adapter<FooAdapter.ViewHolder>{

  @Override
  public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

    View view = LayoutInflater.from(...);

    FooViewHolder viewHolder = new FooiewHolder(view);

    return viewHolder;
  }


  @Override
  public void onBindViewHolder(ViewHolder holder, int position) {
    ...
  }

  @Override
  public int getItemCount() {
    ...
  }

  public class FooViewHolder extends RecyclerView.ViewHolder {
    ...
  }
}
onBindViewHolder metodu
View'a yeni veriyi atar.
Örnek
Şöyle yaparız.
@Override 
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
  try {
    final GridViewHolder viewHolder = (GridViewHolder) holder;
    ...
  } catch (Exception e) {
    ...
  }
}
Örnek
Şöyle yaparız.
@Override
public void onBindViewHolder(FooViewHolder fooViewHolder, int position) {

  Foo foo= list.get(position);

  fooViewHolder.name.setText(foo.getName());
  fooViewHolder.num.setText(hospitagoo.getTel());
  fooViewHolder.selectionState.setChecked(...);

}
onCreateViewHolder metodu
View' nesnesini yaratır. Şöyle yaparız.
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

  View view = LayoutInflater.from(parent.getContext())
    .inflate(R.layout.foo_layout , parent , false);

  FooViewHolder fooViewHolder = new FooViewHolder(view);

  return fooViewHolder;
}
getItemCount metodu
Şöyle yaparız.
private List<Foo> list = ...;

@Override
public int getItemCount() {
    return data.size() ;
}

Hiç yorum yok:

Yorum Gönder