19 Şubat 2018 Pazartesi

RecyclerView Sınıfı

Giriş
Şu satırı dahil ederiz.
import android.support.v7.widget.RecyclerView;
Açıklaması şöyle.
Recycler view recycles the view and doesn't recreate the view until required. It just re-binds the view.
Uzun listeleri göstermek için kullanılır. ListView sınıfından daha iyi performans gösterir.

XML
Şöyle yaparız.
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

  <android.support.v7.widget.RecyclerView
    android:id="@+id/recycler"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
</FrameLayout>
addItemDecoration metodu
RecyclerView.ItemDecoration sınıfından kalıtan bir sınıf gerektirir.

addOnItemTouchListener metodu
Şöyle yaparız.
recyclerView.addOnItemTouchListener(new RecyclerView.SimpleOnItemTouchListener() {
  @Override
  public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
    // true: consume touch event
    // false: dispatch touch event
    return touch;
  }
});
setAdapter metodu
Şöyle yaparız. RecyclerView.Adapter<T> nesnesinden kalıtan bir sınıf gerektirir.
recyclerView.setAdapter(new MyAdapter(totalItemCount));
Adapter'deki veri değişince RecyclerView nesnesini haberdar etmek için şöyle yaparız.
recyclerView.setAdapter(your_adapter);
your_adapter.notifyDataSetChanged();
setLayoutManager metodu
Örnek
Şöyle yaparız.
recyclerView.setLayoutManager(new GridLayoutManager(this, 2));//number of columns
Örnek
Şöyle yaparız. 5 sütunluk bir ızgaraya yerleştirir.
private static final int spanCount = 5;
recyclerView.setLayoutManager(new GridLayoutManager(this, spanCount,
  LinearLayoutManager.VERTICAL, false));
Örnek
Şu satırı dahil ederiz.
import android.support.v7.widget.LinearLayoutManager;
Şöyle yaparız.
RecyclerView.LayoutManager l = new LinearLayoutManager(getApplicationContext());
recyclerView.setLayoutManager(l);
setItemAnimator metodu
Şu satırı dahil ederiz.
import android.support.v7.widget.DefaultItemAnimator;
Şöyle yaparız.
recyclerView.setItemAnimator(new DefaultItemAnimator());

Hiç yorum yok:

Yorum Gönder