SORU
28 HAZİRAN 2014, CUMARTESİ


RecyclerView özelliği

Herkes RecyclerView kullanarak bir şekilde RecyclerView öğeler için onClickListenerbir set için buldu? Her madde için düzenleri her bir dinleyici ama bu biraz fazla bir güçlük gibi görünüyor ayarı düşündüm RecyclerView yol onClick olayı dinlemek vardır eminim ama tam olarak çözemedim.

CEVAP
4 EKİM 2014, CUMARTESİ


Burada daha iyi ve daha az sıkı eşleşmiş bir RecyclerView için bir OnClickListener uygulamak için bir yol.

Kullanım parçacığı:

RecyclerView recyclerView = findViewById(R.id.recycler);
recyclerView.addOnItemTouchListener(
    new RecyclerItemClickListener(context, new RecyclerItemClickListener.OnItemClickListener() {
      @Override public void onItemClick(View view, int position) {
        // do whatever
      }
    })
);

RecyclerİtemClickListener uygulanması

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;


public class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener {
  private OnItemClickListener mListener;

  public interface OnItemClickListener {
    public void onItemClick(View view, int position);
  }

  GestureDetector mGestureDetector;

  public RecyclerItemClickListener(Context context, OnItemClickListener listener) {
    mListener = listener;
    mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {
      @Override public boolean onSingleTapUp(MotionEvent e) {
        return true;
      }
    });
  }

  @Override public boolean onInterceptTouchEvent(RecyclerView view, MotionEvent e) {
    View childView = view.findChildViewUnder(e.getX(), e.getY());
    if (childView != null && mListener != null && mGestureDetector.onTouchEvent(e)) {
      mListener.onItemClick(childView, view.getChildPosition(childView));
      return true;
    }
    return false;
  }

  @Override public void onTouchEvent(RecyclerView view, MotionEvent motionEvent) { }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • hanksranger

    hanksranger

    6 EKİM 2009
  • Murray Winiata

    Murray Winia

    2 ŞUBAT 2009
  • MusicDeluxeTV

    MusicDeluxeT

    14 Mayıs 2010