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

  • EmperorTigerstar

    EmperorTiger

    14 EYLÜL 2009
  • FrankJavCee

    FrankJavCee

    29 Kasım 2008
  • HereWeStayKings

    HereWeStayKi

    3 NİSAN 2013